APP操作方法:
appium支持对手机上的app进行管理和操作,有如下方法:
1、install_app(self,app_path,**options): 安装app,app_path为安装包路径
2、remove_app(self,app_id,**options): 卸载app,app_id为app包名
3、is_app_installed(self,bundle_id): 检查app是否有安装bundle_id为app包名
4、launch_app(self): 启动app,启动desiredcapabilities配置的APP
5、close_app(self): 关闭app,关闭desiredcapabilities配置的APP
6、background_app(self,seconds): 后台运行app,seconds为运行时长
7、activate_app(self,app_id): 切换app,app_id为app包名
8、current_activity(self): 打印当前activity使用的时候不加()
9、start_activity(self,app_package,app_activity,**opts): 在当前应用中打开一个Activity,或者启动一个新应用并打开一个Activity,app_package为要启动的Activity的包名,app_activity要启动的Activity名。
10、reset(self):重置应用,删除应用相关数据操作
代码示例:
举例使用几种方法进行的操作
import time from appium.webdriver.webdriver import By from appium import webdriver des = {'automationName':'appium','platformName':'Android','platformVersion':'6.0.1', # 填写android虚拟机/真机的系统版本号'deviceName':'MuMu', # 填写安卓虚拟机/真机的设备名称# 'appPackage':'com.sky.jisuanji', # 填写被测app包名# 'appActivity':'.JisuanjizixieActivity', # 填写被测app的入口'udid':'127.0.0.1:7555', # 填写通过命令行 adb devices 查看到的udid'noReset':True, # 是否重置APP'unicodeKeyboard':True, # 是否支持中文输入'resetKeyboard':True, # 是否支持重置键盘'newCommandTimeout':60 # 60秒没发送新命令就断开连接}driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des) # 判断如果 计算器 已经下载了则删除 if driver.is_app_installed("com.sky.jisuanji"):driver.remove_app("com.sky.jisuanji")time.sleep(3) # 下载 计算器app driver.install_app("E:/apk/CalcTest.apk") time.sleep(3) # 启动 计算器 driver.start_activity("com.sky.jisuanji",".JisuanjizixieActivity") time.sleep(8) # 做 8+9 的操作 driver.find_element(By.ID,'com.sky.jisuanji:id/btn8').click() driver.find_element(By.ID,'com.sky.jisuanji:id/jia').click() driver.find_element(By.ID,'com.sky.jisuanji:id/btn9').click() driver.find_element(By.ID,'com.sky.jisuanji:id/denyu').click() time.sleep(3) # 置于后台5秒中 driver.background_app(5) time.sleep(3) # 切换到设置 driver.activate_app('com.android.settings') time.sleep(3) # 切换到计算器 driver.activate_app('com.sky.jisuanji') time.sleep(3) driver.close_app() # current_activity\reset\launch_app 这四个方法只适合在des项配置中操作
针对 current_activity \ reset \ launch_app \ close_app 这四个方法只适合在des项配置中操作 做代码演示
代码示例:
import time from appium import webdriver des = {'automationName':'appium','platformName':'Android','platformVersion':'6.0.1', # 填写android虚拟机/真机的系统版本号'deviceName':'MuMu', # 填写安卓虚拟机/真机的设备名称'appPackage':'com.sky.jisuanji', # 填写被测app包名'appActivity':'.JisuanjizixieActivity', # 填写被测app的入口'udid':'127.0.0.1:7555', # 填写通过命令行 adb devices 查看到的udid'noReset':True, # 是否重置APP'unicodeKeyboard':True, # 是否支持中文输入'resetKeyboard':True, # 是否支持重置键盘'newCommandTimeout':60 # 30秒没发送新命令就断开连接}driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',des) # 关闭app time.sleep(3) driver.close_app() # 启动desiredcapabilities配置的APP time.sleep(3) driver.launch_app() # 重置app time.sleep(3) driver.reset() # 打印当前的 activity time.sleep(3) print(driver.current_activity)
自动化测试相关教程推荐:
2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!