本文摘自《深入理解Android自动化测试》第四章第4.8节
4.8 第六个Impossible Mission
前面通过bugben项目的分析,我们逐步认识了Instrumentation的前世今生——即如何对项目进行JUnit测试和Instrumentation测试,并了解了Instrumentation的基本原理。
但是,真正的自动化可没这么简单,不会仅仅放几个方法让你做做单元测试(如果只是对方法的测试,那也谈不上是自动化测试),一般而言,自动化都会涉及到用户交互,比如定位、输入、点击,复杂点的还有长按、拖拽、翻页等。
这个项目随着咱们学习的深入也在不断地成长、发展、壮大,现在,这个项目的主界面变成了本书开头所展示的那样。
1) 进入Bugben应用,如图4-23所示;
2) 进行输入和选择后点击提交,如图4-24所示;
3) 点击提交,运行结果,如图4-25所示。
Instrumentation自动化脚本开发
既然要对这个更大强大的HelloBugben项目进行自动化测试,那必须要满足以下三个条件:
1) 获取Activity控件的能力:如果获取不了控件,就更谈不上去控制它们;
2) 调用Activity控件的能力:如果没办法调用控件,那就没办法操作它们;
3) 对结果的断言的能力:如果没法对结果做判断,那自动化的意义也就不存在了。
1) 获取Activity控件的能力:通过调用Android SDK自带的HierarchyViewer工具获取控件ID;
2) 调用Activity控件的能力:通过调用View的相应的Action方法调用控件;
3) 对结果的断言的能力:通过Assert对结果进行断言。
好了,下一课将重点聊聊 Instrumentation自动化条件了!
更多内容,请点击“阅读原文”,参考《深入理解Android自动化测试》一书,谢谢!