APP测试(appium+Python基础操作)一
一、Appium入门案例
-
demo
from appium import webdriver from time import sleep # server 启用参数 desired_caps = {} # 设备信息 desired_caps['platformName'] = 'Android' # 设备名称 desired_caps['platformVersion'] = '7.1.2' # 设备版本 desired_caps['deviceName'] = '127.0.0.1:62001' # 设备号 # app信息 desired_caps['appPackage'] = 'com.android.settings' # 应用包名 desired_caps['appActivity'] = '.Settings' # 启动的activity desired_caps["automationName"] = 'UiAutomator1' # 解决新版appium报错 driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) sleep(3) # 关闭app driver对象不会关闭 driver.close_app() sleep(3) # 关闭驱动对象 driver.quit()- 常用参数
platformName 平台的名称:iOS, Android, or FirefoxOS platformVersion 设备系统版本号 deviceName 设备号 IOS:instruments -s devices,Android: adb devices app 安装文件路径:/abs/path/to/my.apk or http://myapp.com/app appActivity 启动的Activity appPackage 启动的包 unicodeKeyboard unicode设置(允许中文输入) resetKeyboard 键盘设置(允许中文输入)
二、App操作API
-
安装apk到手机中
import os from appium import webdriver from time import sleep # server 启用参数 desired = { # 设备信息 'platformName': 'Android', # 设备名称 'platformVersion': '7.1.2', # 设备版本 'deviceName': '127.0.0.1:62001', # 设备号 # app信息 'appPackage': 'com.android.settings', # 应用包名 'appActivity': '.Settings', # 启动的activity # 解决新版appium报错 'automationName': 'UiAutomator1' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired) sleep(3) # 下载apk driver.install_app(os.getcwd() + os.sep + "jisuanqi.apk") sleep(3) # 关闭app driver对象不会关闭 driver.close_app() sleep(3) # 关闭驱动对象 driver.quit()-
说明:
driver.install_app(app_path)
参数:app_path:APK文件所在路径
- 从手机中卸载apk
import os from appium import webdriver from time import sleep # server 启用参数 desired = { # 设备信息 'platformName': 'Android', # 设备名称 'platformVersion': '7.1.2', # 设备版本 'deviceName': '127.0.0.1:62001', # 设备号 # app信息 'appPackage': 'com.youba.calculate', # 应用包名 'appActivity': '.MainActivity', # 启动的activity # 解决新版appium报错 'automationName': 'UiAutomator1' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired) sleep(3) # 卸载apk driver.remove_app("com.youba.calculate") sleep(3) # 关闭app driver对象不会关闭 driver.close_app() # 关闭驱动对象 driver.quit()-
说明:
driver.remove_app(app_id)
参数:app_id:需要卸载的app包名
- 判断APP是否有安装
import os from appium import webdriver from time import sleep # server 启用参数 desired = { # 设备信息 'platformName': 'Android', # 设备名称 'platformVersion': '7.1.2', # 设备版本 'deviceName': '127.0.0.1:62001', # 设备号 # app信息 'appPackage': 'com.android.settings', # 应用包名 'appActivity': '.Settings', # 启动的activity # 解决新版appium报错 'automationName': 'UiAutomator1' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired) sleep(3) result = driver.is_app_installed("com.youba.calculate") print(result) # 判断是否有com.youba.calculate该apk,有就删除 True,没有就下载 False if result: driver.remove_app("com.youba.calculate") else: driver.install_app(os.getcwd() + os.sep + "jisuanqi.apk") sleep(3) # 关闭app driver对象不会关闭 driver.close_app() # 关闭驱动对象 driver.quit()-
说明:
driver.is_app_installed(bundle_id)
参数:bundle_id: 可以传入app包名,返回结果为True(已安装) / False(未安装)
-
浙公网安备 33010602011771号