基于UI的移动端自动化测试方法及系统与流程

文档序号:16918241发布日期:2019-02-19 19:08阅读:311来源:国知局
基于UI的移动端自动化测试方法及系统与流程

本发明属于ui测试技术领域,具体涉及一种基于ui的移动端自动化测试方法及系统。



背景技术:

ui(userinterface,用户界面)测试是一种对移动端应用程序上的ui控件元素进行测试的技术,比如,点击用户界面上的每个ui控件元素,检测被测应用程序的输出结果是否符合预期测试结果。

现有技术在进行ui测试时,主要采用基于测试脚本的测试方法,由于测试人员需要针对每项测试编写对应的测试脚本,在移动app快速迭代的当今社会,具有测试工作量大、维护成本较高的不足。



技术实现要素:

针对现有技术存在的缺陷,本发明提供一种基于ui的移动端自动化测试方法及系统,可有效解决上述问题。

本发明采用的技术方案如下:

本发明提供一种基于ui的移动端自动化测试方法,包括以下步骤:

步骤1,服务端安装appium模块以及excel程序;

步骤2,服务端启动所述excel程序,打开excel表格,基于所述excel表格,所述服务端采用关键字驱动逻辑编写测试用例;

其中,所述测试用例的具体编写方法为:所述服务端将对移动端的测试操作命令封装成为相应的测试操作关键字,并按操作的先后顺序,将各个所述测试操作关键字录入到excel表格中,同时,每个所述测试操作关键字均对应有操作对象;

步骤3,当需要进行移动端的某个app的ui自动化测试时,所述服务端启动所述appium模块;

步骤4,所述服务端与需要进行ui测试的所述移动端建立连接,所述服务端读取所述移动端的移动端设备信息,其中,所述移动端设备信息包括设备唯一标识、是否存在被测app的app安装包;

步骤5,所述服务端读取配置文件,确定以下配置信息:

1)如果所述移动端不存在被测app的app安装包,是否卸载并安装被测app;

2)如果所述移动端存在被测app的app安装包,并且,所述移动端已安装被测app,是否需要保留原有app数据;

步骤6,所述服务端读取所述excel表格的所述测试用例,得到按操作顺序排列的各个所述测试操作关键字,以及对应的操作对象;然后,所述服务端将所述测试用例转化成测试命令,并将所述测试命令以及步骤5确定的所述配置信息发送给所述appium模块;

步骤7,所述appium模块根据所述设备唯一标识确定本次需测试的移动端,并将所述测试命令以及步骤5确定的所述配置信息发送给对应的所述移动端;

步骤8,所述移动端接收所述测试命令以及所述配置信息,首先,根据所述配置信息确定是否需要卸载并安装被测app,如果需要,则卸载并安装被测app;以及,确定是否需要保留原有app数据,如果不需要,则直接执行后续操作;如果需要,则备份原有app数据,再执行后续操作;

然后,所述移动端执行相应的所述测试命令,具体执行方法为:首先根据所述操作对象,定位所述被测app中的元素;然后,按顺序对元素执行对应的所述测试操作,并记录测试执行结果;

步骤9,所述移动端将所述测试执行结果反馈给所述服务端;

步骤10,所述服务端将所述测试执行结果与预期执行结果进行对比,得到对比结果;

步骤11,所述服务端将所述对比结果回写到所述excel表格中的对应测试用例中。

优选的,步骤2中,所述测试操作命令包括滑动操作命令、点击操作命令、查找操作命令、输入操作命令和截图操作命令。

优选的,步骤4中,所述设备唯一标识为国际移动设备识别码imei。

优选的,步骤10中,所述服务端将所述测试执行结果与预期执行结果进行对比,采用的对比方法为:

1)页面可见元素的比对,通过读取页面xml源码获得;

2)埋点数据的比对方法,即:通过服务端请求数据服务器进行对比。

本发明还提供一种基于ui的移动端自动化测试系统,包括服务端以及移动端;

所述服务端包括:

测试用例编写模块,所述测试用例编写模块用于:启动excel程序,打开excel表格,基于所述excel表格,所述服务端采用关键字驱动逻辑编写测试用例;

所述测试用例编写模块具体用于:将对移动端的测试操作命令封装成为相应的测试操作关键字,并按操作的先后顺序,将各个所述测试操作关键字录入到excel表格中,同时,每个所述测试操作关键字均对应有操作对象;

启动模块,用于启动appium模块;

移动端信息读取模块,用于在与需要进行ui测试的所述移动端建立连接后,读取所述移动端的移动端设备信息,其中,所述移动端设备信息包括设备唯一标识、是否存在被测app的app安装包;

配置模块,用于读取配置文件,确定以下配置信息:

1)如果所述移动端不存在被测app的app安装包,是否卸载并安装被测app;

2)如果所述移动端存在被测app的app安装包,并且,所述移动端已安装被测app,是否需要保留原有app数据;

测试用例读取模块,用于读取所述excel表格的所述测试用例,得到按操作顺序排列的各个测试操作关键字,以及对应的操作对象;

测试命令转化模块,用于将所述测试用例转化成测试命令,并将所述测试命令以及确定的配置信息发送给所述appium模块;

appium模块,用于根据所述设备唯一标识确定本次需测试的移动端,并将所述测试命令以及确定的所述配置信息发送给对应的所述移动端;

比对模块,用于将所述移动端反馈的测试执行结果与预期执行结果进行对比,得到对比结果;

回写模块,用于将所述对比结果回写到所述excel表格中的对应测试用例中;

所述移动端包括:

接收模块,用于接收测试命令以及配置信息;

配置确定模块,用于根据所述配置信息确定是否需要卸载并安装被测app,如果需要,则卸载并安装被测app;以及,确定是否需要保留原有app数据,如果不需要,则直接执行后续操作;如果需要,则备份原有app数据,再执行后续操作;

执行模块,用于执行相应的所述测试命令,具体执行方法为:首先根据操作对象,定位所述被测app中的元素;然后,按顺序对元素执行对应的所述测试操作,并记录测试执行结果;

测试结果反馈模块,用于将所述测试执行结果反馈给所述服务端。

本发明提供的基于ui的移动端自动化测试方法及系统具有以下优点:

本发明提供的基于ui的移动端自动化测试方法及系统,通过整体的功能方法封装,使用人员只需要在excel表格中输入测试操作关键字以及操作对象,则可调用系统中相应的方法,实现对移动端的ui自动化测试,具有测试效率高的优点。

附图说明

图1为本发明提供的基于ui的移动端自动化测试方法的流程示意图。

具体实施方式

为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参考图1,本发明提供一种基于ui的移动端自动化测试方法,包括以下步骤:

步骤1,服务端安装appium模块以及excel程序;

步骤2,服务端启动所述excel程序,打开excel表格,基于所述excel表格,所述服务端采用关键字驱动逻辑编写测试用例;

其中,所述测试用例的具体编写方法为:所述服务端将对移动端的测试操作命令封装成为相应的测试操作关键字,并按操作的先后顺序,将各个所述测试操作关键字录入到excel表格中,同时,每个所述测试操作关键字均对应有操作对象;其中,所述测试操作命令包括需要对移动端的某个app的界面控件元素执行的滑动操作命令、点击操作命令、查找操作命令、输入操作命令和截图操作命令,以实现对移动端的某个app进行ui测试的目的。

本发明中,采用关键字驱动逻辑编写测试用例,即:将操作移动端的命令,封装成为相应的测试操作关键字(滑动、点击、查找、输入、截图等),将操作顺序相应的测试操作关键字录入到excel中,注明需要操作的对象。

步骤3,当需要进行移动端的某个app的ui自动化测试时,所述服务端启动所述appium模块;

步骤4,所述服务端与需要进行ui测试的所述移动端建立连接,所述服务端读取所述移动端的移动端设备信息,其中,所述移动端设备信息包括设备唯一标识、是否存在被测app的app安装包;其中,所述设备唯一标识可以为国际移动设备识别码imei,用于给特定设备发送命令。具体实现上,服务端下发adb命令获取移动端的设备信息。

步骤5,所述服务端读取配置文件,确定以下配置信息:

1)如果所述移动端不存在被测app的app安装包,是否卸载并安装被测app(如不存在则直接安装);

2)如果所述移动端存在被测app的app安装包,并且,所述移动端已安装被测app,是否需要保留原有app数据;

步骤6,所述服务端读取所述excel表格的所述测试用例,得到按操作顺序排列的各个所述测试操作关键字,以及对应的操作对象,操作对象通过id或者xpath进行定位,获取app中的元素;然后,所述服务端将所述测试用例转化成测试命令,并将所述测试命令以及步骤5确定的所述配置信息发送给所述appium模块;

步骤7,所述appium模块根据所述设备唯一标识确定本次需测试的移动端,并将所述测试命令以及步骤5确定的所述配置信息发送给对应的所述移动端;

步骤8,所述移动端接收所述测试命令以及所述配置信息,首先,根据所述配置信息确定是否需要卸载并安装被测app,如果需要,则卸载并安装被测app;以及,确定是否需要保留原有app数据,如果不需要,则直接执行后续操作;如果需要,则备份原有app数据,再执行后续操作;

然后,所述移动端执行相应的所述测试命令,具体执行方法为:首先根据所述操作对象,定位所述被测app中的元素;然后,按顺序对元素执行对应的所述测试操作,并记录测试执行结果;

步骤9,所述移动端将所述测试执行结果反馈给所述服务端;

步骤10,所述服务端将所述测试执行结果与预期执行结果进行对比,得到对比结果;

具体的对比方法为:

1)页面可见元素的比对,通过读取页面xml源码获得;

2)埋点数据的比对方法,即:通过服务端请求数据服务器进行对比。

步骤11,所述服务端将所述对比结果回写到所述excel表格中的对应测试用例中。

本发明还提供一种基于ui的移动端自动化测试系统,包括服务端以及移动端;

所述服务端包括:

测试用例编写模块,所述测试用例编写模块用于:启动excel程序,打开excel表格,基于所述excel表格,所述服务端采用关键字驱动逻辑编写测试用例;

所述测试用例编写模块具体用于:将对移动端的测试操作命令封装成为相应的测试操作关键字,并按操作的先后顺序,将各个所述测试操作关键字录入到excel表格中,同时,每个所述测试操作关键字均对应有操作对象;

启动模块,用于启动appium模块;

移动端信息读取模块,用于在与需要进行ui测试的所述移动端建立连接后,读取所述移动端的移动端设备信息,其中,所述移动端设备信息包括设备唯一标识、是否存在被测app的app安装包;

配置模块,用于读取配置文件,确定以下配置信息:

1)如果所述移动端不存在被测app的app安装包,是否卸载并安装被测app;

2)如果所述移动端存在被测app的app安装包,并且,所述移动端已安装被测app,是否需要保留原有app数据;

测试用例读取模块,用于读取所述excel表格的所述测试用例,得到按操作顺序排列的各个测试操作关键字,以及对应的操作对象;

测试命令转化模块,用于将所述测试用例转化成测试命令,并将所述测试命令以及确定的配置信息发送给所述appium模块;

appium模块,用于根据所述设备唯一标识确定本次需测试的移动端,并将所述测试命令以及确定的所述配置信息发送给对应的所述移动端;

比对模块,用于将所述移动端反馈的测试执行结果与预期执行结果进行对比,得到对比结果;

回写模块,用于将所述对比结果回写到所述excel表格中的对应测试用例中;

所述移动端包括:

接收模块,用于接收测试命令以及配置信息;

配置确定模块,用于根据所述配置信息确定是否需要卸载并安装被测app,如果需要,则卸载并安装被测app;以及,确定是否需要保留原有app数据,如果不需要,则直接执行后续操作;如果需要,则备份原有app数据,再执行后续操作;

执行模块,用于执行相应的所述测试命令,具体执行方法为:首先根据操作对象,定位所述被测app中的元素;然后,按顺序对元素执行对应的所述测试操作,并记录测试执行结果;

测试结果反馈模块,用于将所述测试执行结果反馈给所述服务端。

本发明特点如下:整个系统通过在服务端搭建服务,下发命令到移动端,执行结束后将结果回传到服务端记录,实现ui自动化测试。编写测试用例则采用的是关键字驱动逻辑,将操作移动端的命令,封装成为相应的方法(滑动、点击、查找、输入、截图等),将操作顺序相应的关键字录入到excel中,注明需要操作的对象。测试结果验证:一是验证页面是否包含功能正常所展示的元素,二则是通过提前预埋的统计用户行为数据的埋点是否正常。

本发明提供的基于ui的移动端自动化测试方法及系统,通过整体的功能方法封装,使用人员只需要在excel表格中输入测试操作关键字以及操作对象,则可调用系统中相应的方法,实现对移动端的ui测试,不需要过多的研究代码层级的内容。编写测试用例可以直接在excel中输入测试操作关键字以及操作对象,以便项目组其他人员维护。执行结束后,会将测试结果回写到excel中,出现错误保留截图以及报错信息,方便查询测试结果

在移动app快速迭代过程中,本发明可以实现部分稳定功能的回归测试,验证新增加功能是否影响了原有功能,并且可以无人值守时自动执行,减少了回归测试的成本,提高了测试效率。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1