Android UI自动化用例设计技巧

Android UI 自动化用例设计技巧
封装方法和接口化
封装方法:
思考:编程如何越来越快?
首先,经验丰富,知识面广。
其次,每一个熟练编程的人员,都会有自己的一个库,那是他多年积累的宝贵经验。这些库里面有他平时碰到的各种问题的解决,各种通用的方法函数等。需要用时,新手拈来,快速组装成为一个程序。
同理,自动化脚本的编写,也是一个编写,只是需求为测试用例。UI自动化用例编写容易,但是语句较多,界面变化快,维护庞大。进行方法的封装,是提升快速编写的有效途径。

哪些方法需要封装:
公共的操作步骤
经常使用的步骤
经常使用的组件
经常操作的布局
经常操作的页面
通用的工具函数
中国移动MTBF的用例:
Cer_MTBF_01联系人的添加和删除预置条件:
1.在添加联系人之前通讯录内无任何联系人
执行步骤:
1.打开通讯录
2.清空联系人
3.新建联系人
4.确认联系人新建成功
5.删除联系人
6.确认联系人删除成功
7.退出通讯录
openContact
clearContact
newContact
confirmNewContact
deleteContacts
ConfirmDelContact
sexitContact
新建一个用例的类Cer_MTBF_01
public class Cer_MTBF_01 extends MTBFBase{
public void testMTBF01(){
openContact();//封装方法
clearContact();
newContact();
confirmNewContact();
deleteContacts();
ConfirmDelContacts();
exitContact();
}
}
封装的方法是通用的方法,创建一个基础库UiAutomatorBase.java
public class UiAutomatorBaseextends UiAntomatorTestCase{ }

创建第二层基础库,继承UiAntomatorTestCase
public class MTBFBase extends UiAutomatorBase{
public void openContact(){}//封装方法
public void clearContact(){}
public void newContact(){}
public void confirmNewContact(){}
public void deleteContacts(){}
public void ConfirmDelContacts(){}
public void exitContact(){}
}
接口
面向对象的编程也可以引入到自动化用例编写中,自动化用例使用接口有声么好处呢?
设计用例与实现用例分离
规范化用例
多态-应用的多版本
创建新项目,新建一个接口
public interface ICer_MTBF_01{
public void openContact();//封装方法
public void clearContact();
public void newContact();
public void confirmNewContact();
public void deleteContacts();
public void ConfirmDelContacts();
public void exitContact();
}
需要直接实现接口即可:implement
组件化与布局化
组件化
对常用组件进行单独编写这个组件的常用方法,我们最终获取每个对象都为某一个类型的组件。例如:对EditView设计通用方法,首先想想你是如何测试编辑框的,将这些方法全写在抽象的EditView类中
获取EditView对象
输入文本
清除文本
判断编辑框类型
判断编辑框
各种异常与特殊输入方法预置
布局化
布局一般为几个组件在通过若干容器内组成的常见的设计界面,布局可以当成一个大组件。
界面化
界面化知识
应用的界面由不同的activity组成,那我们只要将每个activity都给封装成单独的类,类里面包含这个activity需要使用的变量与方法。



















猜你喜欢

转载自blog.csdn.net/qq_35417815/article/details/51804147