App自动化测试之使用流程
1、打开Appium,模拟器或者真机,pycharm
2、确定设备(模拟器或者真机)是否在线
cmd:adb devices
3、启动appium服务
4、编写python自动化代码
a. 导包
from appium.webdriver import Remote
b. 准备desired_capabilities参数
键 | 描述 | 值 |
---|---|---|
automationName | 自动化测试的引擎 | Appium (默认)或者 Selendroid |
platformName | 使用的手机操作系统 | iOS, Android, 或者 FirefoxOS |
platformVersion | 手机操作系统的版本 | 例如 7.1, 4.4 |
deviceName | 使用的手机或模拟器类型 | iPhone Simulator, Android Emulator, Galaxy S4, 等等 |
appPackage | 运行的 Android 应用的包名 | com.example.android.myApp, com.android.settings |
appActivity | Activity 的名字是指从你的包中所要启动的 Android acticity。他通常需要再前面添加. |
MainActivity, .Settings |
app | 本地绝对路径_或_远程 http URL 所指向的一个安装包(.ipa,.apk,或 .zip 文件)。如果您指定了 appPackage 和 appActivity 参数(见下文),Android 则不需要此参数了。 | /abs/path/to/my.apk 或 http://myapp.com/app.ipa |
unicodeKeyboard | 使用 Unicode 输入法。 默认值为 false ,设置为true后才能输入中文 | true或false |
resetKeyboard | 在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态,默认值为 false | true或false |
noReset | 在当前 session 下不会重置应用的状态。默认值为 false,设置为true后,不需要每次运行用例都安装apk | true或false |
caps = {
"platformName": "Android",
"automationName": "UiAutomator1",
"platformVersion": "5.1",
"deviceName": "emulator-5554",
"appActivity": ".CalculatorActivity",
"appPackage": "com.ibox.calculators",
"noReset": "false"
}
c. 连接appium服务器
端口要跟启动appium服务的端口一致
driver = Remote(desired_capabilities=caps,
command_executor="http://localhost:4723/wd/hub")
# 通过driver就可以对App进行自动化操作
d. 运行python代码
5、查看appium服务器运行日志
如何获取平台版本 "platformVersion"
adb shell getprop ro.build.version.release
.png)
如何查看应用信息 “appPackage” 和 “appActivity”
cmd:aapt dump badging apk路径
查询当前所在的包名和activity
先在模拟器或者真机中打开需要查看的应用
cmd:adb shell dumpsys activity | find "mFocusedActivity"
注::如果在真机中使用上边不行的话就换下面的
cmd: adb shell dumpsys activity | find "mResumedActivity"
appPackage:com.ibox.calculators
appActivity:.CalculatorActivity