当前位置:网站首页>Appium自动化测试基础 — APPium基础操作API(一)
Appium自动化测试基础 — APPium基础操作API(一)
2022-07-05 15:04:00 【测试-八戒】
1、前置代码
一个脚本中必须要编写的内容:
# server 启动参数
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1'
desired_caps['deviceName'] = '192.168.56.101:5555'
desired_caps['appPackage'] = 'com.android.settings'
desired_caps['appActivity'] = '.Settings'
# 声明driver对象
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)2、安装和卸载APP
(1)把电脑中的APK安装包,安装到手机上
安装方法:
driver.install_app(app_path)
参数:
app_path:脚本机器中APK⽂件路径(2)卸载手机上已安装的APP
卸载方法:
driver.remove_app(app_id)
参数:
app_id:需要卸载的app包名(3)演示练习
# 1.导入appium
import time
from appium import webdriver
# 2.创建Desired capabilities对象,添加启动参数
desired_caps = {
"platformName": "Android", # 系统名称
"platformVersion": "7.1.2", # 系统版本
"deviceName": "127.0.0.1:21503", # 设备名称
"appPackage": "com.microvirt.launcher2", # APP包名
"appActivity": "com.microvirt.launcher.Launcher" # APP启动名
}
# 3.启动APP
# 声明手机驱动对象(实例化webdriver)
# 第一个参数为appium服务的地址,需要启动appium服务。
# 第二个参数为Desired capabilities对象
# 我们就先传入这两个参数就可以了。
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
# 4.操作APP
# 脚本机器中APK⽂件路径,注意前边要加一个r,不然解析地址时可能会报错。
app_path = r'C:\Users\L\Desktop\com.taobao.taobao_V9.15.0.apk'
# 安装apk
driver.install_app(app_path)
time.sleep(5)
# 要知道即将卸载的app的包名
app_id = "com.taobao.taobao"
# 卸载app
driver.remove_app(app_id)
# 5.关闭APP
time.sleep(3)
driver.quit()说明:
一般这两个命令很少使用,即使用命令安装apk软件,一般我们也推荐使用adb命令。就不用把安装app的代码写入脚本中,即使写入脚本,最终执行也是adb命令。如果公司的测试机充裕,我们就把app的安装包放入手机,直接手动安装了。
一般用到这两个命令是在一个脚本要去测试多个app的时候,会用到这两个命令,在测试时把这几个app先安装上,测试完成之后在卸载app。但是这种情况也基本上不多,一般情况app都单独测试。
3、判断APP是否已安装
使用的API:
driver.is_app_installed(bundle_id)
参数:
bundle_id: 传⼊app包名,返回结果为True(已安装) / False(未安装)示例:
# 1.导入appium
import time
from appium import webdriver
# 2.创建Desired capabilities对象,添加启动参数
desired_caps = {
"platformName": "Android", # 系统名称
"platformVersion": "7.1.2", # 系统版本
"deviceName": "127.0.0.1:21503", # 设备名称
"appPackage": "com.microvirt.launcher2", # APP包名
"appActivity": "com.microvirt.launcher.Launcher" # APP启动名
}
# 3.启动APP
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
# 4.操作APP
# 脚本机器中APK⽂件路径
app_path = r'C:\Users\L\Desktop\com.taobao.taobao_V9.15.0.apk'
# 安装apk
driver.install_app(app_path)
time.sleep(5)
# 要知道即将卸载的app的包名
bundle_id = "com.taobao.taobao"
result = driver.is_app_installed(bundle_id)
# 结果是result=true
print(result)
# 5.关闭APP
time.sleep(3)
driver.quit()提示:一般我们用眼看app是否安装就可以了,脚本中明确需要的时候再写。
4、关闭app软件和关闭驱动对象
关闭app软件和关闭驱动对象的区别:
driver.close_app()
闭当前操作的app,不会关闭驱动对象。driver.quit()
关闭驱动对象,同时关闭所有关联的app。
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下


边栏推荐
- sql server学习笔记
- Crud of MySQL
- 机器学习笔记 - 灰狼优化
- Anaconda uses China University of science and technology source
- Detailed explanation of QT creator breakpoint debugger
- 数学建模之层次分析法(含MATLAB代码)
- I collect multiple Oracle tables at the same time. After collecting for a while, I will report that Oracle's OGA memory is exceeded. Have you encountered it?
- easyOCR 字符識別
- I spring and autumn blasting-2
- Does maxcompute have SQL that can query the current storage capacity (KB) of the table?
猜你喜欢
随机推荐
Easyocr character recognition
Database learning - Database Security
Does maxcompute have SQL that can query the current storage capacity (KB) of the table?
Mongdb learning notes
Common interview questions about swoole
Photoshop plug-in action related concepts actionlist actiondescriptor actionlist action execution load call delete PS plug-in development
Talk about your understanding of microservices (PHP interview theory question)
Example of lvgl display picture
做研究无人咨询、与学生不交心,UNC助理教授两年教职挣扎史
keep-alive
Cartoon: what are the attributes of a good programmer?
What are CSRF, XSS, SQL injection, DDoS attack and timing attack respectively and how to prevent them (PHP interview theory question)
Bugku's Ping
wxml2canvas
Visual task scheduling & drag and drop | scalph data integration based on Apache seatunnel
Array sorting num ranking merge in ascending order
How to introduce devsecops into enterprises?
Ctfshow web entry command execution
sql server char nchar varchar和nvarchar的区别
episodic和batch的定义


![P1451 calculate the number of cells / 1329: [example 8.2] cells](/img/c4/c62f3464608dbd6cf776c2cd7f07f3.png)






