频道栏目
读书频道 > 移动开发 > 其他综合 > 移动App测试实战:顶级互联网企业软件测试和质量提升最佳实践
2.2.1.3 基于系统事件的自动化测试
2015-08-13 14:25:31     我来说两句
收藏   我要投稿
《移动App测试实战:顶级互联网企业软件测试和质量提升最佳实践》由三位国内顶级互联网企业软件测试工程师联手打造,根据移动产品的特点,深入讲解了移动App测试的最佳实践,从移动互联网产品测试的准备工作到产  立即去当当网订购
所有Android操作系统的输入事件都可以在进入adb shell后通过getevent获取(需要su),相关示例如图2-26所示。
 
这些事件都会存储在/dev/input/eventX下。每个eventX代表一个输入外设。例如触摸屏、键盘等,而输出的每一行代表一个事件,例如某个键盘按下,等等(具体每个事件的三个部分代表什么含义请参考Linux相关资料)。因此,我们可以通过解析这些文件,来实现录制的功能。测试人员可以把自己的操作录制下来,用一种数据格式记录。
 
那么怎么回放录制的测试脚本呢?我们可以解析录制的数据,并在adb shell下使用sendevent命令向指定外设一个个发送事件,也可以在adb shell下用input keyevent命令来做。例如,在将Android手机连接计算机后打开一个记事本类程序,进入adb shell,执行:
 
 
 Input keyevent 34
 
你会发现效果等同于输入一个F键。
 
基于系统的事件无法对界面上的元素做判断,只能进行一些驱动类型的工作。因此这个方法不能单独使用来进行自动化测试。断言部分需要配合Instrumentation/UIAutomator。
 
此方法的缺陷是:
 
不同的设备有不同的分辨率。在A设备下录制的脚本在B设备下执行可能会产生问题。
 
不同设备的eventX可能代表不同外设。
 
这些都是在使用这个方法进行自动化测试的时候需要考虑的问题。
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.2.1.2 Android JUnit测试
下一篇:2.2.1.4 基于图像识别的自动化测试
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站