Android UI自动化测试最佳实践

发表于:2012-12-07 10:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  一、概述

  Android系统测试和Web的测试类似,有两类自动化的方式:录制回放与手动开发自动化case。由于录制回放在长期维护与代码重用方面存在问题,这里主要的方式还是采用手动开发自动化case来进行。

  在Web自动化测试中有一个比较好的实践是采用PageFactory的方式(参考文章:http://chon.techliminal.com/page_object/#/intro),Selenium2对其进行了良好的封装与支持,关于这种模式的具有以下几点好处:

  1)减少重复代码,将页面状态的改变和迁移封装在页面对象之中;

  2)UI的变动只会影响到相应页面对象而不会影响到上层的test case;

  3)能够在不同的test case中重用页面对象。

  Android应用程序的测试也极其类似,每一个Activity可以看成是一个Page Object,可以将Activity中的控件以及操作封装在Page Object之中。为了能够表述清楚测试的分层和测试方法,先展现一个实例,然后讨论对Robotium的改写与封装。

  二、实例

  以移动凤巢的登陆页面为例,LoginActivity中有三个控件:用户名EditText,密码EditText,以及提交按钮Button,如下图一,当登陆成功后进入MainActivity,如下图二:

  对于Test Case的组织如下图,page包中每个Activity都对应一个ActivityPage,test包中的用例可以重用不同的ActivityPage:

  其中LoginActivityPage的内容如下,先不用关心@FindBy这种注解,它不是robotium自带的,主要作用是能够在运行时将控件注入到ActivityPage之中:

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号