全网最新最全面的Appium自动化:Appium常用操作之app操作

 🔥 交流讨论:欢迎加入我们一起学习!

🔥 资源分享耗时200+小时精选的「软件测试」资料包

🔥 教程推荐:火遍全网的《软件测试》教程  

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

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)

最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值