坑之初体验

在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. tyvj1102 单词的划分
  2. yum -y upgrade 和 yum -y update 区别
  3. android 相对布局里面的一些属性
  4. Nagios学习笔记一:基本安装和配置
  5. 23.C#Queryable的扩展方法(十二章12.1-12.2)
  6. ArcGIS API for Silverlight 加载google地图
  7. [流媒体]VLC主要模块
  8. Java_数组
  9. JS实现复制到剪贴板
  10. Loading Image
  11. Unity3D游戏开发从零单排(四) - 制作一个iOS游戏
  12. Android实现限制EditText输入文字的数量
  13. Token在android中的使用
  14. mybatis 详解(六)------通过mapper接口加载映射文件
  15. [SCOI2007]压缩 区间dp
  16. [SCOI2010]股票交易
  17. [BZOJ2049] [SDOI2008] Cave 洞穴勘测 (LCT)
  18. js面试题1
  19. 开发环境使用docker 快速启动 单机 RocketMq
  20. .Net Core 应用方向 图谱

热门文章

  1. 转-Determining whether a Computer Needs to be Rebooted
  2. PHP中变量的销毁
  3. 【转】sed 的参数
  4. python简单分布式demo
  5. 面向对象_03【关键字:final使用】
  6. (三)surging 微服务框架使用系列之我的第一个服务(审计日志)
  7. [TFRecord格式数据]利用TFRecords存储与读取带标签的图片
  8. spring-boot 使用 main函数 无法启动的问题完美 解决方案。
  9. Cypher查询语言--Neo4j之聚合函数(五)
  10. ipython的用法详解