基于Android的可视化自动化脚本编辑和维护功能

来源:互联网 发布:ember.js中文官网 编辑:程序博客网 时间:2024/06/06 03:42

背景

随着智能手机的普及,android平台的手机的软件质量越来越变得重要,这也推进了android软件测试的快速发展。随着测试自动化在测试中的占比变大,一个可灵活编辑和维护的自动化脚本是非常重要的。传统的pc端的自动化脚本需要有一定编程能力的工程师进行设计和维护,但是鉴于android平台的显示尺寸和测试资源的节省,本文提出一种在手机平台上可视化编辑的脚编辑交互界面,用户通过自由组合测试用例形成一个测试序列,进行保存后自动生成脚本存放在手机指定xml文件中,测试系统通过读取xml文件来获得相应的具体的测试内容。

设计界面

为了在移动终端完成测试序列的编辑,所以需要一种简单又有效的方法保证,如下图(非工具画,有点粗糙)

由于PC上具有较大的操作界面,所以无需对脚本的编辑有太高的要求。但是在Android移动终端平台上需要一种简易又能涵盖所有信息的界面提供给使用者。所以我们需要设计尽可能简单,但是功能齐全的操作界面。如上图

区域一:是测试系统含有的所有单一测试用例,每个用例在程序编码上都设计为可单独执行。用户通过选择测试用例将此用例加入到测试序列中。

区域二:包含此测试序列的所有测试过程。使用者可以对每一条测试用例进行循环次数的增减,以及对测试序列中多余的测试用例的删除。最后对序列名称再进行编辑,保存后即可永久的保存在手机存储中,下次打开会增加显示此测试序列的选择。


保存测试序列

保存测试序列后,将序列名称,序列其他信息,和测试序列的测试用例排序以及每个用例的循环次数,用一定的格式写进xml文件中进行保存,如:
<case><name>快速执行顺序</name><timeGene>0.1</timeGene><runState>once</runState><caseOrder>1-1,3-1,4-1,5-1,6-1,7-1,8-1,9-1,10-1,11-1,12-1,13-1,14-1,16-1,17-1,18-1</caseOrder></case>

其中<name>代表序列名称,<timeGene>代表测试时间的因子,<runState>代表测试序列是否循环,<caseOrder>中第一个数字代表用例序号,第二个数字代表此用例循环次数。

将脚本文件解析成可执行测试程序

执行某测试序列时,测试程序通过解析相应的xml文件:

while (eventType != XmlPullParser.END_DOCUMENT) {switch (eventType) {case XmlPullParser.START_DOCUMENT:caseList = new ArrayList<TestCase>();break;case XmlPullParser.START_TAG:if (parser.getName().equals("case")) {testCase = new TestCase();} else if (parser.getName().equals("name")) {eventType = parser.next();testCase.setName(parser.getText());} else if (parser.getName().equals("timeGene")) {eventType = parser.next();testCase.setTimeGene(parser.getText());} else if (parser.getName().equals("runState")) {eventType = parser.next();testCase.setRunState(parser.getText());} else if (parser.getName().equals("caseOrder")) {eventType = parser.next();testCase.setCaseOrder(parser.getText());}break;case XmlPullParser.END_TAG:if (parser.getName().equals("case")) {caseList.add(testCase);testCase = null;}break;}}

解析后,测试程序获取测试相关信息,再对应测试序列和每一条测试用例进行相应的测试执行。

下图是在移动终端apk读取和测试序列的编辑流程


2 0
原创粉丝点击