Appium学习

devtools/2024/9/22 20:34:56/

      一、基础配置

import unittest
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBy
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECcapabilities = {'platformName': 'Android','automationName': 'uiautomator2','deviceName': '127.0.0.1:21503',#连接的设备名称'appPackage': 'com.tjlianxin.smartcanteen363',#要测试的包名'appActivity': 'com.lianxin.smartcanteenposc7.ui.spflash.SpflashActivity',#要测试包名的主活动名称'language': 'zh','locale': 'CN'
}appium_server_url = 'http://localhost:4723/wd/hub'class TestAppium(unittest.TestCase):def setUp(self) -> None:self.driver = webdriver.Remote(appium_server_url, options=UiAutomator2Options().load_capabilities(capabilities))def tearDown(self) -> None:if self.driver:self.driver.quit()def test_find_battery(self) -> None:wait = WebDriverWait(self.driver, 10)el = wait.until(EC.presence_of_element_located((AppiumBy.XPATH, '//*[@text="确定"]')))el.click()if __name__ == '__main__':unittest.main()

1.appPackage名可以使用下面的adb命令来查询所有的包名,找到你要测试程序的包名

adb shell pm list packages

2.appActivity界面主活动名称可以使用下面的语句查询包名的主活动界面名称,注意:com.tjlianxin.smartcanteen363需要替换为你测试程序的包名

adb shell dumpsys package com.tjlianxin.smartcanteen363

查询完成之后会显示出很多的数据,找到MAIN或者是LAUNCHER这两个字符,我找出来的是这样的,取出上面的包名的活动名称

      android.intent.action.MAIN:e4653d com.tjlianxin.smartcanteen363/com.lianxin.smartcanteenposc7.ui.spflash.SpflashActivity filter 2346502Action: "android.intent.action.MAIN"Category: "android.intent.category.LAUNCHER"

 那么你得实际活动名就是:

com.lianxin.smartcanteenposc7.ui.spflash.SpflashActivity


http://www.ppmy.cn/devtools/99490.html

相关文章

Java面试题--JVM大厂篇之JVM 大厂面试题及答案解析(3)

💖💖💖亲爱的朋友们,热烈欢迎你们来到我的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而我的博客&…

白酒与青年文化:潮流与传统的碰撞

在时代的洪流中,青年文化如同一股涌动的潮流,不断冲击着传统的边界。而白酒,作为中国传统文化的瑰宝,也在这一潮流中找到了新的表达方式。今天,我们就来探讨一下白酒与青年文化之间的碰撞与整合,以及豪迈白…

验证码短信怎么实现Java接口对接

在当今数字化时代,商家和企业对于用户身份验证的需求日益增强,这不仅是出于保护用户数据安稳的考虑,也是维护业务正常运营、防止欺诈行为的重要一环。在众多身份验证手段中,文字验证码短信因其便捷性和低成本特性,成为…

如何通过rsync+sersync 实现同步备份

该文档是在很早之前写的,一直存在草稿箱中,最近在整理其它学习资料时发现还没有发布,内容和方法有可能和现在的操作系统版本有些不符合了,但处理思路没有变化,大家可以根据最新版本要求,参照该文档进行配置…

2-74 基于matlab的图像k-means聚类GUI

基于matlab的图像k-means聚类GUI,可对彩色图像进行Kmeans和meanshift进行聚类分析,生成最后的聚类图像以及聚类中心的迭代轨迹。程序已调通,可直接运行。 2-74 matlab GUI - 小红书 (xiaohongshu.com)

Python---函数

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 在python中,函数的应用非常广泛,在前面我们已经多次接触过函数,例如用于输出的print()函数,用于输入的函数input(),以及生成一系…

拦截器实现 Mybatis Plus 打印含参数的 SQL 语句

1.实现拦截器 package com.sample.common.interceptor;import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.mapping.BoundSql; import or…

Leetcode 46.全排列

注意的点: 1、回溯本质就是搜索树的树枝,维护三个核心变量:path(需要恢复现场),visited(需要恢复现场),以及res 解法:回溯算法 class Solution:def permut…