admin管理员组文章数量:1597897
一、确认环境
自动化测试涉及到手机、电脑以及Appium服务等多端交互,在正式开始之前,首先我们要确认一下环境是否正确安装:
- 连接手机或者打开模拟器
- adb devices 确认手机被识别
- 启动 Appium 服务,并设置端口
- 运行 Python 脚本
如果没有安装appium环境请参考:Appium环境搭建保姆级教程
二、编写Appium启动脚本
Appium是一个支持多平台的自动化测试框架,启动Appium程序需要提供 platformName 参数,指明需要使用哪个操作系统的自动化引擎:
from appium.webdriver import Remote
caps = dict(platformName="Android")
driver = Remote(desired_capabilities=caps)
打开手机,如果需要访问具体的App,将App的安装包路径也放到 caps 中,如果不传 app 参数,则默认打开设备首页。
caps = dict(platformName="Android",
app="/path/iBiliPlayer-bilibili.apk")
电脑上也有可能连接多个手机,如果有多个手机,需要指定想操作的手机设备,使用 udid 参数,设备号可以输入adb devices 获取。通常情况下,要对某个app进行自动化测试,这三个启动参数是最常见的。
caps = dict(platformName="Android",
app="/path/iBiliPlayer-bilibili.apk",
udid='emulator-5554')
当这些数据准备好了之后,我们可以直接通过给 Appium 提供的 Remote类,连接对应的app。操作完成之后,通过 quit 方法来退出整个会话。
一定要记得quit,否则后面在进行元素定位的时候,可能会出现无法获取页面源码的错误。
from appium.webdriver import Remote
file = '/path/iBiliPlayer-bilibili.apk'
caps = dict(platformName="Android",
app=file,
udid='emulator-5554')
driver = Remote(desired_capabilities=caps)
driver.quit()
三、通过包名启动 App
通常情况下,Appium 可以通过apk的路径来直接操作指定的app。但是又是不方便拿到 apk 文件,而我们的手机上已经装好了要测试的 app, 那么可以通过 app 的包名来启动。
from appium.webdriver import Remote
caps = {
"platformName": "Android",
"udid": "emulator-5554",
"appPackage": "com.bilibili.app.blue",
"appActivity": "tv.danmaku.bili.ui.splash.SplashActivity"
}
driver = Remote(desired_capabilities=caps)
driver.quit()
四、如何获取App包名和Activity名称
通过下面的命令可以直接得到启动 app 的 appPackage 参数和 appActivity 参数,
adb logcat | findStr -i displayed
输入命令后,手工点击进入 app, 可以显示手机最近打开了哪些页面,最近打开的页面会显示在最下方,从而我们得到了需要的参数。
常用启动参数
Appium 还有很多启动参数,可以在官方的 Desired Capbility 中查看。只有 platformName 是必填的,其他都是可选。
常用启动参数:
- platformName 必选
- deviceName / udid 必选
- app 安装路径
- appActivity 和 appPackage,
- platformVersion 可选,版本不匹配会报错
- noReset 不重置, True
- automationName
- browserName, 直接测web用, Chrome
- autoWebview, 开机进入webview模式
- chromedriverExecutable
- chromedriverExecutableDir
- unicodeKeyboard
- resetKeyboard
- autoGrantPermissions
五、一个完整的自动化脚本
通过一个完整的脚本说明一下。
1、连接手机,启动 app
2、元素定位,执行操作
3、退出程序
from appium.webdriver import Remote
caps = {
"platformName": "Android",
"udid": "emulator-5554",
"appPackage": "com.bilibili.app.blue",
"appActivity": "tv.danmaku.bili.ui.splash.SplashActivity"
}
driver = Remote(desired_capabilities=caps,
command_executor = 'http://127.0.0.1:4723/wd/hub')
driver.implicitly_wait(10)
driver.find_element('id', 'com.bilibili.app.blue:id/agree').click()
driver.quit()
本文完,如果不过瘾,我还整理了软件测试入门到进阶的完整笔记,可以点击查看:
软件测试需要学习什么?
已经更新的内容有 Selenium网页端web自动化测试:
-
一、为什么用Selenium做自动化测试
-
二、Selenium chromedriver安装教程和快速使用
-
四、Selenium元素定位方式
-
五、Selenium等待方式
-
六、Selenium滚动页面
-
七、Selenium如何使用POM分层模式
-
八、Selenium关键字驱动自动化测试框架
Appium移动端App自动化测试
-
一、Appium环境搭建保姆级教程
-
二、Appium五分钟快速上手
-
三、Appium如何进行元素定位
-
四、Appium核心API操作
-
五、Appium获取和点击坐标
-
六、Appium实现图片放大和缩小
-
七、Appium H5 页面怎么测试
-
八、Appium 2.0 发布,如何升级
-
九、Appium并发测试如何做
快点进来看看吧:软件测试和自动化测试学习路线图
版权声明:本文标题:Appium脚本启动参数如何设置 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728297758a1152633.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论