移动端自动化测试之我见


   从事互联网行业已有5个年头,其中也做过一段时间产品岗,对这个行业的总体感觉就是发展变化相当快。
就互联网测试领域来说,怎样有效地提高工作效率,提高产品的质量,是测试工程师都要思考的问题。初始阶段,只是掌握了一些测试的理论知识,项目经验不是很多的时候,经常会迷茫,测试之路在哪里,然后总是向往自动化工具,总是觉得纯手工的测试没有技术含量,但历经几个公司下来,发现用得最多最灵活的还是手工测试,因为人的灵活度总是大于工具,最能快速适应更新换代的产品。只有大型的系统,平时升级改造变化不会太大,这个时候运用自动化测试框架来回归整体功能是否正常,是一种有效节约人力和快速发现问题的方法。但是,一个大型稳定系统的自动化测试框架的搭建,往往需要专业的自动化测试人员,和较长的时间来实现,并且自动化测试框架也需要根据系统变化而变化,维护成本也是比较高的,所以现在的中小型公司往往不会投入这么大人力来做自动化,一般就是运用一些自动化测试工具,写一些UI自动化脚本进行UI回归测试。 
 
  目前市面上的UI自动化测试工具有比较多,比如Appium,Robotium,Selenium,其中Appium,Robotium是针对移动端UI自动化测试的,Selenium是Web端的,总结起来原理都是类似的,通过定位控件,模拟用户点击、输入等操作,来实现一系列用户事件。Appium使用的定位控件方法跟Selenium类似,都是通过声明一个Driver对象,然后用findElement方法定位到具体的控件,通过sendKey(),Click(),swipe()等方法模拟输入,点击,滑动等动作;Robotium则是通过solo类提供的一系列方法来完成同样的操作,比如clickOnButton(),clickOnCheckBox(),getEditText();drag();searchText(String),EnterText()等等。


   Appium和Robotium都需要安装Java和eclipse搭建脚本编写环境,并且添加相应的jar包,比如Appium需要的jar包有java-client-1.2.1,selenium-server-standalone-2.44.0.jar,以及selenium-java-2.44.0.zip及相应的jar包,而Robotium需要robotium-solo-5.2.1.jar ,并且两个工具都需要安装TestNG相关插件。


  Appium自带有Inspector可以定位控件;Robotium可以用uiautomatorviewer.bat;所以这两个工具现在也是移动端自动化测试应用最广泛的,个人觉得都比较好上手,只是运用的方法不同。Appium的优势在于可用于原生、混合和移动的web app,ios和Android平台都可以用,而Robotium只能自动化原生的APP,并且只能用在Android程序,但Robotium更简单,而且又具有创建强大又可靠的自动化场景的能力,所以在自动化社区也广泛流行。


  目前部门的产品刚完成1.0版本,且为混合开发的web app,并且平台覆盖Ios,Android和Web端,比较之下Appium更加适合,但自动化测试框架的搭建非一日之功,还需要掌握更多具体的知识,并且需要部门管理者支持,开发人员的配合协助。

猜你喜欢

转载自blog.csdn.net/maryshine/article/details/52712553