关于app自动化环境搭建的注意事项和坑,包括环境搭建中获取参数的方式
环境搭建使用的框架:
- windows
- java
- Appium-desktop(Appium桌面版)
-
appium客户端
- Andriod SDK(adt-bundle-windows-x86_64.zip)
- uiautomator2
- Appium Inspector(这个工具是appium server提供的一个工具)
- 夜神模拟器
环境的搭建安装各种操作不再说明
夜神模拟器:
SDK下的adb{在SDK目录下}和模拟器nox_adb版本不一致,上一需要把SDK路径 下 的adb.exe 复制到模拟器的bin下,从命名为nox_adb.exe(替换前备份下nox_adb.ex)
链接模拟器:
Adb connect 127.0.0.1:62001 其他模拟器端口:雷神5555 夜神62001 mumu755
desired capbilities相关参数:
- platformname : 平台名字,如:ios、android
- platformversion : 对应的平台版本
- devicename : 设备名,手机型号
- apppackage : 应用的包名
- appactivity : 应用的activity
- automationname : 自动
- Andriod SDK(adt-bundle-windows-x86_64.zip)
- udid (和deviceName作用一样,在不同版本下这个参数重好用,所以以后用udid代替deviceName)
- app apk的存放路径(可选)
- appActivity(页面名称,相当于web页面中title) 和 appPackage(包名)
- platformVersion 系统版本号(可选,版本不匹配会报错)
- noReset 选择True 不重启(意思是app的引导页面,缓存数据等不清空,如果选择False,app相当于重新安装了,把之前的数据都清空了)
- automationName 驱动名称
- browserName 直接测web用ChromeautoWebview 开机进入webview模式(开机直接进入网页模式,不需要进入原生页面)
- chromedriverExecutable 网页浏览器驱动所放路径(必须是完整路径)
- chromedriverExecutableDir 网页浏览器驱动所放目录
- unicodekeyboard 开启unicode编码形式的键盘
- resetKeyboard 重启键盘 (和上一个一块配置,两个都设置成True,就可以开启中文输入,相当于我们的电脑安装输入法)
- autoGrantPermissions 开启手机权限(相当于web端中弹出来的alert弹框,无法定位元素,设置了True,就方便定位元素)
apppackage和appactivity参数查找:
- cmd命令行,输入以下信息:aapt.exe dump badging d:\alipay_wap_main.apk(apk路径)
在输出信息中可以找到‘apppackage’和‘appactivity’的值
通过adb获取appPackage和appActivity:
方法一:adb shell am monitor 监控操作(在cmd中执行此命令后,然后在手机上或模拟器上操作对应的app,就会显示对应的包名)
方法二:adb logcat | findStr -i displayed 从日志进行查询包名和页名称
通过aapt获取appPackage和appActivity:
- aapt dump badging 全路径.apk
获取操作系统的版本:
- adb.exe -P 5037 -s emulator-5554 shell getprop ro.build.version.release
判断包名是否已经安装到手机上:
- adb.exe -P 5037 -s emulator-5554 shell dumpsys package com.lemon.lemon
启用app:
- adb.exe -P 5037 -s emulator-5554 shell am start -W -n com.lemon.lemonban/.activity.WelcomeActivity -S
不同语言对应不同的appium客户端软件