Appium疑难杂症

简介: 坑之初体验在Appium的初体验中,遇到了一些坑坑洼洼。将他们记录下来,以后方便查阅。1. session大于60秒没接收到命令自动关闭通过Appium-Python-Client连接到appium的session,60秒内没有操作的话,session就会被自动关闭,操作指的是元素的定位、获取、点击、输入等。
坑之初体验

在Appium的初体验中,遇到了一些坑坑洼洼。将他们记录下来,以后方便查阅。

1. session大于60秒没接收到命令自动关闭

通过Appium-Python-Client连接到appium的session,60秒内没有操作的话,session就会被自动关闭,操作指的是元素的定位、获取、点击、输入等。
解决办法: desired_caps中加入超时时间配置
Python代码如下:

Python desired_caps = {} # 在启动配置里面加入newCommandTimeout参数 desired_caps['newCommandTimeout'] = 200

2. Appium通过npm安装不上,咋个办

解决办法:
使用淘宝镜像cnpm安装, 具体可见我前一篇文章里的安装appium
但是注意cnpm默认在当前目录安装npm包

3. UIAutomationviewer不支持动态页面

解决办法:

  1. 先不启动Appium,直接开UIAutomationviewer,先获取到想要的控件信息。
  2. 启动安卓虚拟机,在虚拟机里边获取(但是虚拟机需要安装自己想要的包,甚是麻烦啊);
  3. 用driver.page_source查看源码,然后正则抓取相关控件信息(但是我好像没发现id信息), 尽量不要用xpath定位xml页面,查找非常慢;
  4. hierarchyviewer代替此工具,前提是设备开启ViewServer(虚拟机是默认开启的),真机一般只有工程机能开启,市面上目前发现只有小米设备可以开启
4. 怎么查看设备是否连接

解决办法:
设备通过usb连接上计算机以后,在cmd窗口输入adb devices
可获取到设备信息。

5. 获取包名

解决办法:
一般情况可以用查看日志的办法,可以先清空日志
adb logcat -c
然后获取正在展示app,前提是手机端要打开此app
adb logcat | grep display
然后可以从正在展示的内容里提取 package和activity了,但是我能获取到支付宝的,QQ却不可以,很神奇。

相关文章
|
1月前
|
数据采集 测试技术 API
python爬虫之Appium 的使用
搭建appium环境,appium基本使用,API操作等等
44 0
|
4月前
|
XML Java 测试技术
『App自动化测试之Appium应用篇』| 元素定位工具Appium-Inspector从简介、安装、配置到使用的完整攻略
『App自动化测试之Appium应用篇』| 元素定位工具Appium-Inspector从简介、安装、配置到使用的完整攻略
158 3
|
3月前
|
监控 Shell 测试技术
Appium日志分析总结Appium工作原理
Appium日志分析总结Appium工作原理
31 0
|
10月前
|
前端开发 Java 测试技术
软件测试|Appium的二次开发与Appium的运行原理
软件测试|Appium的二次开发与Appium的运行原理
135 0
|
12月前
|
测试技术
736.【总结】:app自动化测试工具【appium】的安装思路
736.【总结】:app自动化测试工具【appium】的安装思路
|
Web App开发 JavaScript Java
App自动化测试|Appium介绍
App自动化测试|Appium介绍
233 0
App自动化测试|Appium介绍
|
XML 测试技术 API
App自动化测试|Appium元素定位工具
App自动化测试|Appium元素定位工具
303 0
App自动化测试|Appium元素定位工具
|
Web App开发 存储 JSON
软件测试|Appium WebView 技术原理
软件测试|Appium WebView 技术原理
150 0
软件测试|Appium WebView 技术原理
|
Web App开发 存储 JSON
干货|app自动化测试之Appium WebView 技术原理
干货|app自动化测试之Appium WebView 技术原理
|
Web App开发 JSON 小程序
干货|app自动化测试之Appium 原理 与 JsonWP 协议分析
干货|app自动化测试之Appium 原理 与 JsonWP 协议分析