基于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
- 基于Android的可视化自动化脚本编辑和维护功能
- 基于android模拟器和脚本录制工具的自动化操作
- 从自动化测试执行的角度谈自动化脚本维护
- 基于httpclient和mysql的接口功能自动化测试框架
- 基于GephiSDK的数据可视化功能开发
- 设计自动化脚本的容错功能
- android studio 可视化编辑
- 《软件自动化测试成功之道》节选12 - 自动化测试脚本的维护
- Magento 的文件和数据库维护脚本
- linux任务自动化部署与维护脚本
- 基于SikuliX的可视化短信验证码获取脚本
- 自动化测试的维护问题
- 基于Lua脚本的自动化测试框架设计
- [Python]基于Splinter的自动化回归/测试脚本
- 基于Lua脚本的自动化测试框架设计
- 基于selenium的自动化测试脚本编写-python
- EBMIDE——脚本编辑的智能感知功能
- 可视化的directx 编辑工具
- 《DLL for Win32/MFC》Part 3, DLL Client Application Two
- AutoLayout Label 自适应宽高
- android 使用ViewDragHelper高仿QQ主界面效果
- OpenCV实践之路——基于暗通道先验的去雾算法简单实现
- 机器学习实战笔记1
- 基于Android的可视化自动化脚本编辑和维护功能
- excel 上传,导入,导出,线程和委托等简单代码
- Matlab 根据变量生成结构体的 fieldname
- base64 传图片
- 106. Construct Binary Tree from Inorder and Postorder Traversal
- C# 一次执行多条SQL语句,Oracle11g数据库
- ejs 模板中输出的两种方式
- css常用样式
- python URL请求地址的拼接