APP测试(appium+Python基础操作)一
2024-09-04 08:11:45
一、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(未安装)
最新文章
- 限制EditText最多输入多少汉字
- C# 文件及文件夹深度复制
- DB
- bootstrap-15
- ADURL简化程序
- uva 1658(最小费用最大流)
- WPF文本框密码框添加水印效果
- elasticsearch从mysql导入数据
- 内存不足(OutOfMemory)的调试分析
- css link和@import区别用法
- ecshop后台限制IP登录
- js console.log 打印 对像 数组 详解
- #include <;strstream>;
- c语言,数据类型转换
- Java 基础 break和continue关键字的使用
- .net core 使用Redis的发布订阅
- PPT的应用
- Dynamics CRM2013/2015 禁止欢迎界面(Disable the Welcome Screen)
- laydate日期空间与时间选择器
- 安卓Android基础第五天