总结一下从开始接触Appium到目前阶段所遇到的坑

总结一下从开始接触Appium到目前阶段所遇到的坑

环境搭建:Appium的环境搭建要复杂一些;
Java-JDK环境,Android-SDK环境,Node-JS环境(现在Appium版本中自带node模块),以上为Appium运行的基础环境;
编辑器的话我这里使用的是IDEA,Eclipse也都一样的,有些功能反而更方便点击查找一些,比如Android Device Monitor等,个人偏向于IDEA;
首先Java环境,我这里使用的是Java 1.8,环境变量等就不再赘述,控制台验证 Java -version即可;
Android SDK 环境变量配置
系统变量:ANDROID_HOME—>E:\SDK SDK总文件夹所在路径;
Path:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
控制台输入:android—会启动SDK Manager或者adb -version验证即可;
效果如下图所示:
这里写图片描述
Appium环境变量要配置一下:
系统变量:APPIUM_HOME—>D:\Appium\Appium
Path—>%APPIUM_HOME%\node_modules.bin\;D:\Appium\Appium;
控制台输入 appium 看看是否出来Info的日志,或者输入appium-doctor 查看其他环境是否也配置成功;
正常应当如下图所示;就显示环境已经配置完毕了;
这里写图片描述
很多人使用第三方模拟器,但是我使用夜神模拟器,一直没有成功过,最后为了不耽误时间,果断放弃第三方以及默认模拟器,使用真机直接测试(当然真机测试的话,一定要保证代码的准确性)

有的App不能直接调用到某个Activity,报错:Error: Permission to start activity denied.这里说的调用某个Activity是指跳跃式的跨过某个或几个Activity就调用某一个Activity而产生的错误;
是因为activity在清单文件里面没添加android:exported=”true”的话,你不能直接打开对应的activity,需要从启动页activity打开。
exported属性就是设置是否允许activity被其它程序调用**
如果不是很繁琐的步骤,或者说App页面跳转,测试条件不允许跨度过大的情况下,建议从App最开始的页面开始自动化,比如从最初的入口LogoActivity开始自动化;
还有报错:A new session could not be created. (Original error: Requested a new session but one was in progress)
这是因为上个测试的session还在,没有Delete掉,无法创建新的会话,清一下测试机的后台缓存即可;

在测试的过程中,新手(我)会想说,我要怎么才知道这个测试的App的Package路径以及Activity名称,元素控件怎么去查看定位,这里就要用到Android SDK自带的Tools来辅助完成这一操作;
也可以直接找开发索要源码,前提:看得懂源码,懂android源码的内部结构等等;这是比较粗暴,有效的方法;
这里就要用到Android SDK中 Tools里的Android Device Monitor 以及UI Automator Viewer,分别对应tools里面的 monitor.bat,以及uiautomatorviewer.bat;
这里主要介绍一下UI Automator Viewer,非常强大的一个自带工具,即使是真机测试也同样可以使用,但是前提这两个工具都只支持API level 16以上的安卓版本;
首先运行uiautomatorviewer.bat,注意:这里不要把空的控制台给关了,要不然这个页面也会没有的,运行效果如下
这里写图片描述
如果是真机测试的话,想知道某个页面的控件名称等等,点击左上角第二个按钮;
这里写图片描述
随后等待一会就会出现结果了,如下图
这里写图片描述
手机的名称,控件的名称,命名,以及package路径都可以找的到;

其次就是想要找到测试的一个个的Activity 这里就要用到了Android Device Monitor,这里有个前提就是测试人员必须要很熟悉各个Activity的跳转流程,也就是测试的业务流程,这对观察log里面的Activity名称有很大帮助;
这一段即为手机的名称,如下图所示;
这里写图片描述
比如我有个App(上图就是)从MenuActivity 长摁一个选项跳转到另一个页面,这个从App启动的过程来看的话,在这个工具里的体现就在system_process:ActivityManager的log中,如下图所示这个过程
首先进入LogoActivity页面
首先进入LogoActivity页面
其次会自动跳转到MenuActivity页面
这里写图片描述
长摁点击闹钟按钮,进入到.alarm.ClockActivity中
这里写图片描述
这样就可以很清楚的了解,业务的流程;方便在代码中处理;
2018新年快乐,每天进步,加油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值