坑之初体验

在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却不可以,很神奇。

Appium疑难杂症的更多相关文章

  1. Appium+python自动化(二十四)- 白素贞千年等一回许仙 - 元素等待(超详解)

    简介 许仙小时候最喜欢吃又甜又软的汤圆了,一次一颗汤圆落入西湖,被一条小白蛇衔走了.十几年后,一位身着白衣.有青衣丫鬟相伴的美丽女子与许仙相识了,她叫白娘子.白娘子聪明又善良,两个人很快走到了一起.靠 ...

  2. Appium移动自动化框架

    引言:Appium 是一个移动端自动化测试开源工具,可以针对不同的平台用一套API来编写测试用例.本文对Appium自动化测试框架的功能进行了概括. 本文选自<软件自动化测试开发>. Ap ...

  3. Carousel 旋转画廊特效的疑难杂症

    疑难杂症 该画廊特效的特点就是前后元素有层级关系. 我想很多人应该看过或者用过这个插件carousel.js,网上也有相关的教程.不知道这个插件的原型是哪个,有知道的朋友可以告诉我. 该插件相对完美, ...

  4. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

  5. Appium python API 总结

    Appium python api 根据testerhome的文章,再补充一些文章里面没有提及的API [TOC] [1]find element driver 的方法 注意:这几个方法只能通过sel ...

  6. Appium scroll 滑动查找

    首先看uiautomator如何实现滑动查找 UiScrollable scrollView = new UiScrollable(new UiSelector().className("a ...

  7. Appium+python的一个简单完整的用例

    最近一直在忙,终于有时间来整理一下,传一个简单的用例,运行之后可以看到用例的报告,希望对大家有帮助. HTMLTestRunner这个包网上有很多,大家可以自己下载. 1 import unittes ...

  8. Appium环境搭建+cordova

    1.安装JDK 配置JAVA_HOME(变量值为jdk的安装目录)以及Path path值如下: 验证是否生效 2.安装node.js 选择适合自己的版本官网直接下载https://nodejs.or ...

  9. Appium简单测试用例

    工程目录如下: 封装初始化androiddriver 方法 import org.openqa.selenium.remote.DesiredCapabilities; import java.io. ...

随机推荐

  1. 通俗易懂的分析如何用Python实现一只小爬虫,爬取拉勾网的职位信息

    源代码:https://github.com/nnngu/LagouSpider 效果预览 思路 1.首先我们打开拉勾网,并搜索"java",显示出来的职位信息就是我们的目标. 2 ...

  2. 让Python支持中文注释

    在第一行中加入如下行即可,表示文件的编码: #coding=utf-8 或 #coding=gbk

  3. dfs 与 dijkstra 总结

    Dijkstra: //寻求加权图起始点到各个节点的最短路径 for i <- 1:n do distance[i] <- INF; distance[0] <- 0;//起始节点距 ...

  4. Date对象和正则对象

    1.Date对象 创建 var date1 = new Date(); var date2 = new Date(12983798123);//填一个毫秒值,应该是距离1970年1月1日.....多少 ...

  5. Titanic数据分析

    一.材料准备 https://www.kaggle.com/c/titanic-gettingStarted/ 二.提出问题 生存率和哪些因素有关(性别,年龄,是否有伴侣,票价,舱位等级,包间,出发地 ...

  6. R语言的神奇之基于向量

    对于大多数需要来说,当我们需要计算两个向量相加时,我们需要分别对这两个向量的元素进行遍历,所以写起来非常的麻烦.下面看看R语言是如何实现的. 首先,将1:5赋予一个名为x的向量 > X<- ...

  7. 济南清北学堂游记 Day 6.

    还剩一天半我就该回去了. 说实话今天挺可惜的,有很多本来可以得到的分数评测时没有拿到.上午的第一题和第二题我都想出了正解,T3敲了一个暴力,虽然暴力写坏了.预计是可以拿210的但是实际上只有很少的分数 ...

  8. BZOJ 4537: [Hnoi2016]最小公倍数 [偏序关系 分块]

    4537: [Hnoi2016]最小公倍数 题意:一张边权无向图,多组询问u和v之间有没有一条a最大为a',b最大为b'的路径(不一定是简单路径) 首先想到暴力做法,题目要求就是判断u和v连通,并查集 ...

  9. BZOJ 2111: [ZJOI2010]Perm 排列计数 [Lucas定理]

    2111: [ZJOI2010]Perm 排列计数 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1936  Solved: 477[Submit][ ...

  10. R语言dplyr包初探

    昨天学了一下R语言dplyr包,处理数据框还是很好用的.记录一下免得我忘记了... 先写一篇入门的,以后有空再写一篇详细的用法. #dplyr learning library(dplyr) #fil ...