最近在整理Android自动化测试的相关资料,大体上把一些知识点梳理了,这里做一个简单的分享!
Android里面测试相关的工具和框架太多了。你应该从以下几个方面入手。
编程语言的选择
如果你要学习的是Appium的话,当然它是移动自动化测试领域最主流的工具之一,同时支持IOS和Android两大平台,最主要的是它还支持多种编程语言(Java/python/C#/javascript...等),这是它得到广泛应用的原因之一,如果你要做的只是APP UI层的自动化测试,那么,你完全可以使用自己熟悉的编程语言来做Appium自动化测试。
我发现用Python+Appium的人非常多。这主要是因为Python简单,它在测试圈中有广泛的应用基础,不过,我这里推荐使用java的原因是我对android自动化测试的学习不想只停留在UI层,我还想知道android的单元测试怎么做,怎么调用接口?甚至是CPU,内存的调度是怎么样的。???
所以,我需要知道android应用是怎么被开发出来的。android应用的开发目前只能用java,这就是我选择java的理由。
从哪里入手
知道了我的选择,肯定也知道我会从哪里下手了,先不要着急去搭建Appium/Robottium这样的自动化性能测试环境,首先建议把android开发环境搭建起来,参考android开发文档,把上面的一个demo搭建起来,这样你就会了解到android开发的基本流程,并认识到你操作的按钮,输入框等其实是由布局文件定义的。对于android开发余越熟悉,自动化测试才能够做得更好。
Android测试框架
官方文档中测试库支持主要介绍了AndroidJUnitRunner、Espresso 和 UI Automator。
AndroidJUnitRunner类是一个JUnit运行器,可以在你设备上运行JUnit3或者JUnit4风格的测试代码。并且同时支持Espresso 和UIAutomator测试运行。所以,AndroidJUnitRunner不是一个单独的测试工具,它只是一个运行Junit单元测试的组件。(其实,这里又隐含了一个前提条件,你需要知道Junit单元测试框架。)
这就是Android测试相关的一些工具和框架。看到这些时我内心是崩溃! 这么多怎么学?它们都是啥,我到底该学啥?
官方文档中测试库支持主要介绍了AndroidJUnitRunner、Espresso 和 UI Automator。
AndroidJUnitRunner类是一个JUnit运行器,可以在你设备上运行JUnit3或者JUnit4风格的测试代码。并且同时支持Espresso 和UIAutomator测试运行。所以,AndroidJUnitRunner不是一个单独的测试工具,它只是一个运行Junit单元测试的组件。(其实,这里又隐含了一个前提条件,你需要知道Junit单元测试框架。)
Espresso是一个非常好的白盒风格的自动化测试框架,它与测试目标运行在同一个APP下。你可以把Espresso看作是Android的单元测试框架。
UI Automator测试框架非常适合写黑盒box-style自动化测试,测试代码不依赖于目标应用程序的内部实现细节。所以,UI Automator是Android的UI测试框架。
先把以上三个工具搞明白,那么你就可以做Android 单元/UI自动化测试了。
Appium学习
为什么还要学习Appium?因为它流行嘛,支持多平台(Android/iOS)、多语言、混合应用(原生代码和Web内容交互);社区活跃,资料丰富。出门打怪升级必备技能。
Appium的学习分三部分:
* 编程语言(Java/Python/Ruby...)
* Appium API(Android APP界面元素定位与操作)
* 单元测试框架(测试用例的组织与执行,以及生成测试报告)
其实,所有自动化测试技术的学习都是一样的。把Appium换成Selenium,那么就是Web UI自动化测试的学习内容了。我们应该是花费更多力气学好的是编程语言和单元测试框架。这两个搞定了,再学习新的领域的自动化技术才能事半功倍。
更多测试 文章搜索公众号 “测试圈TC”
转载自:https://www.cnblogs.com/fnng/p/7264195.html