App自动化04-Inspector检查器启动QQ测试
页面功能说明
Appium检查器是Appium-desktop自带的一个工具,通过它可以来获取页面元素信息(包括页面布局、控件、元素属性等),以及还可以通过它来实现脚本的录制功能。
点击Appium检查器启动之后,可以看到页面分成三大区域:
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200302163950459-1069074952.png)
第一部分区域为连接Appium服务器的相关配置
- 自动设定
检查器会自动将之前启动Appium服务器所填的地址、端口信息同步过来,一般我们选择这个即可 - 自定义服务器
这里我们可以自己设置连接Appium服务器所需的参数,比如你想要连接到另外一台主机上面的Appium服务器 - 选择云服务器提供商
连接到这些云服务器提供的Appium服务器,一般不用
第二部分区域为代理及证书相关配置
第三部分区域为所需功能配置,通过所需功能配置告诉Appium服务器如何建立通讯连接
DesiredCapabilties所需功能配置
一般我们填写如下四个基础配置即可:
-
deviceName
设备名字,通过此属性,appium可以找到我们对应的设备进行通讯,通过打开cmd窗口,运行adb devices命令,输出的结果即可得到对应的deviceName
注意:需要先保证adb已经连接上了模拟器/真机,怎么连接,戳这里
-
platformName
平台名,如果是android就写Android,ios即是IOS -
appPackage
应用的包名,通过此属性,appium就可以得知需要和哪个app进行通讯。可以通过Android SDK自带的aapt工具获取,aapt工具介绍:
aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件
默认Android SDK自带了aapt工具,进入到build-tools对应的目录中,在地址栏上面输入cmd即可打开cmd窗口并且自动将路径定位到当前,输入aapt命令
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303151200060-2103740712.png)
解析APK包的信息,通过aapt dump badging apk包所在路径(以qq安装包为例),解析结果中的第一行即为对应的app包名
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303151334909-317335869.png)
- appActivity
应用的入口activity,通过此属性,可以开启app。
同样通过aapt工具解析可获取到启动入口配置,命令同上述保持一致,在结果中搜索“launchable-activity”关键字,后面的值即为入口配置
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303151543907-609721640.png)
最后,对应的四个基本参数配置如下,点击启动会话
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303152143975-1058817844.png)
初始化结束之后,可以看到如下界面
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303154012794-209683558.png)
左边为手机即时画面的映射,通过鼠标即可点击控制相应的元素,如果发现没有同步,可以点击工具栏上刷新按钮。
AppSource:
画面的元素构成,包括布局和控件
Selected Element:
选中的元素对应的属性信息,这个就是我们查找定位元素的关键信息,包括有:
index:索引
text:文本
class:类
package:包
content-desc:内容描述
checkable:可选
checked:选中
enabled:可用
focusable:可获得焦点
focused:获得焦点
scrollable:可滚动
long-clickable:可长点击
password:隐藏明文(密文显示)
selected:选中
bounds:界面(起始点坐标/终止点坐标)
resource-id:元素ID
检查器录制功能
点击开始录制按钮“眼睛图标”
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303154746558-2053290034.png)
选择元素->操作
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303160229250-611737612.png)
生成脚本,还可以选择不同语言,Java、python、ruby等等
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303160454468-1469542362.png)
检查器初始会话可能会碰到的问题
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303152303417-500944283.png)
An unknown server-side error occurred while processing the command. Original error: 'app' option is required for reinstall
解决方案:
确保测试App有安装到Android设备中
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303152706334-165604272.png)
无法连接到服务器;您确定要运行吗?
解决方案:
确保Appium服务器有在运行
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303152751982-505086846.png)
An unknown server-side error occurred while processing the command. Original error: You must include a platformName capability
解决方案:
platformName配置是否有写上,要注意大小写问题
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303152904986-698228656.png)
An unknown server-side error occurred while processing the command. Original error: The desired capabilities must include either an app, appPackage or browserName
解决方案:
确保所需配置中有appPackage属性
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303153119409-215432748.png)
An unknown server-side error occurred while processing the command. Original error: activity and pkg are required to start an application
解决方案:
appActivity配置是否有写上,要注意大小写问题,对应的值是否正确
![](https://img2020.cnblogs.com/blog/1416742/202003/1416742-20200303153318121-1790929151.png)
An unknown server-side error occurred while processing the command. Original error: Could not find a connected Android device.
解决方案:
设备是否有通过adb链接上,通过adb devices命令检查