一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于配置即应用模式的UI自动化回归测试系统的制作方法

2022-03-23 02:31:50 来源:中国专利 TAG:

一种基于配置即应用模式的ui自动化回归测试系统
技术领域
1.本发明涉及软件应用自动化测试技术领域,具体涉及一种基于配置即应用模式的ui自动化回归测试系统。


背景技术:

2.软件应用在发布前,需要经过大量的测试,以确保软件应用能够完美运行。其中,修改了旧代码后,还需要重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误,该测试称为回归测试。
3.传统的测试方法是手工编写测试用例进行测试,为了提高效率,出现了多种自动化测试工具,例如:selenium,用于web自动化测试;appium,用于app自动化测试;jmeter,用于接口测试,性能测试;robot framework,用于webui自动化测试,接口测试等。但是,上述现有的自动化测试工具,需要手动编写测试用例,使用和维护困难。
4.有鉴于此,急需对现有的ui自动化回归测试系统进行改进,以根据页面元素配置和操作方式,自动生成测试用例和测试文件,提高效率和使用方便性。


技术实现要素:

5.针对上述缺陷,本发明所要解决的技术问题在于提供一种基于配置即应用模式的ui自动化回归测试系统和系统,以解决现有的ui自动化回归测试系统需要手动编写测试用例,使用和维护困难的问题。
6.为此,本发明提供的一种基于配置即应用模式的ui自动化回归测试系统,包括:
7.页面元素配置单元,用于根据页面元素的识别方式配置配置ui界面中所有页面元素;
8.操作方式配置单元,用于选择所述页面元素,并为所述页面元素配置对应的操作方式,每一个所述页面元素及其对应的操作方式组成一条操作,多条所述操作组装为一条测试用例;
9.用例集组装单元,用于根据业务流程选择相应的若干测试用例,并设置相应测试用例的执行顺序,组装获得用例集;
10.测试文件生成单元,用于将所述用例集中每一条测试用例中的所述页面元素及其对应的操作方式,填充到预设的封装模板中,生成unittest用例代码,并利用discovery自发现生成统一的用例入口文件,所述unittest用例代码和所述用例入口文件构成完整的测试文件;
11.报告生成单元,用于将运行所述测试文件获得的测试结果生成html格式的测试报告。
12.在上述系统中,优选地,所述页面元素配置单元在windows页面通过微软控件识别工具inspect获取页面元素中控件的id和名称name,web页面采用浏览器自带f12工具获取页面元素中控件的xpath、name及class。
13.在上述系统中,优选地,所述报告生成单元采用企业微信机器人,在业务群内实时通知所述测试结果。
14.在上述系统中,优选地,所述报告生成单元将所述测试文件的执行记录以及测试结果保存在系统数据库中,同时保存测试日志文件。
15.在上述系统中,优选地,所述页面元素配置单元在windows页面通过微软控件识别工具inspect获取页面元素中控件的id和名称name,web页面采用浏览器自带f12工具获取页面元素中控件的xpath、name及class。
16.在上述系统中,优选地,所述页面元素配置单元通过应用页面元素配置表自定义配置页面元素的识别方式。
17.由上述技术方案可知,本发明提供的一种基于配置即应用模式的ui自动化回归测试系统,解决了现有系统需要手动编写测试用例,使用和维护困难的问题。与现有技术相比,本发明具有以下有益效果:
18.采用图形化界面配置页面元素的识别方式及其操作方式以及测试用例,基于配置即应用模式,自动生成unittest用例代码和统一的用例入口文件,使用方便、快捷,提高了效率。
附图说明
19.为了更清楚地说明本发明的实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图做出简单地介绍和说明。显而易见地,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为本发明提供的一种基于配置即应用模式的ui自动化回归测试系统示意图;
21.图2为本发明中页面元素配置的示意图;
22.图3为本发明中选择页面元素配置对应操作方式的示意图;
23.图4为本发明中测试用例集组装的示意图;
24.图5为本发明中测试报告的示例图;
25.图6为本发明中桌面客户端显示测试文件以及项目相关信息的示例图。
具体实施方式
26.下面将结合本发明实施例附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,以下所描述的实施例,仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下,所获得的所有其他实施例,都属于本发明保护的范围。
27.本发明的实现原理是:采用图形化界面配置页面元素及其操作方式和测试用例,基于配置即应用模式,自动生成unittest用例代码和统一的用例入口文件,使用方便、快捷,提高了效率。
28.为了对本发明的技术方案和实现方式做出更清楚地解释和说明,以下介绍实现本发明技术方案的几个优选的具体实施例。
29.需要说明的是,本文中“内、外”、“前、后”及“左、右”等方位词是以产品使用状态为
基准对象进行的表述,显然,相应方位词的使用对本方案的保护范围并非构成限制。
30.请参见图1,图1为本发明提供的一种基于配置即应用模式的ui自动化回归测试系统的示意图。
31.如图1所示,本发明提供的一种基于配置即应用模式的ui自动化回归测试系统,包括页面元素配置单元10、操作方式配置单元20、用例集组装单元30、测试文件生成单元40和报告生成单元50。
32.页面元素配置单元10用于根据页面元素的识别方式配置ui界面中所有的页面元素。页面元素的识别支持xapth、name、class等定位方式。
33.例如:页面元素配置单元在windows页面通过微软控件识别工具inspect获取页面元素中控件的id和名称name,web页面采用浏览器自带f12工具获取页面元素中控件的xpath、name及class。
34.配置ui前台界面页面元素的过程如图2所示,例如:
35.配置的页面元素为登录窗体,元素控件类型为windowcontrol,元素定位类型为automationid,元素属性值为firmlogin等。
36.利用该页面元素配置单元10可以增加、删除页面元素,以及对页面元素进行修改编辑、保存。ui前台界面页面元素配置保存在系统数据库中。
37.操作方式配置单元20用于选择页面元素,并配置对应的操作方式。其中,操作方式用于模拟用户进行点击、输入、切屏、等待加载等操作。每一个页面元素及其对应的操作方式组成一条操作,多条操作组装为一条测试用例。
38.选择ui上的页面元素并配置对应的操作方式如图3所示。例如:对于“点击登录”,页面元素为登录窗体,操作方式为click(点击)。
39.本发明中,对页面元素的操作方式采用python uiautomator2进行二次封装,操作方式二次封装。
40.用例集组装单元30用于根据业务流程选择相应的测试用例,并设置各测试用例的执行顺序,组装获得用例集。
41.如图4所示,社保组合管理用例集包括以下测试用例,且序号0-5表示测试用例的执行顺序:
42.0,登录成功验证;
43.1,打开社保组合验证;
44.2,组合综合信息验证;
45.3,批量现金流信息验证;
46.4,成交流水信息验证;
47.5,流通受限资产信息验证。
48.测试用例可以在用例集组装单元30中进行添加或删除。
49.测试文件生成单元40用于通过预置的封装模板template,将用例集中每一条测试用例中的页面元素及其对应的操作方式,填充到模板中,生成python的unittest用例代码。并利用自定义discovery自发现方法生成统一的用例入口文件。unittest用例代码和用例入口文件构成完整的测试文件。
50.本发明通过自定义的下述页面元素配置表、桌面应用页面表、桌面用例执行记录
表、桌面测试用例表、桌面测试用例步骤表和桌面测试用例集表,并利用封装模板实现了用例代码的自动生成。
51.表1:桌面应用页面元素配置表t_winelements。
[0052][0053][0054]
表2:桌面应用页面表t_winpages
[0055][0056][0057]
表3:桌面用例执行记录表t_winrecords
[0058][0059]
表4:桌面测试用例表t_wintestcase
[0060][0061]
表5:桌面测试用例步骤表t_winteststep
[0062]
[0063][0064]
表6:桌面测试用例集表t_wintestsuite
[0065][0066]
具体地,在每一个配置页面,对于每一项配置操作解析,并保存在相应的上述表中。例如:
[0067]
根据在页面元素配置界面对页面元素的配置操作,利用xapth、name、class等定位方式获取相应的页面元素,并保存在页面元素配置表中;
[0068]
根据在页面元素与操作方式配置界面的配置操作,将相应的页面元素与操作方式
保存在桌面应用页面表中,其中页面元素从页面元素配置表中获得;
[0069]
根据在测试用例配置页面的操作,将测试用例及其执行步骤保存在桌面用例执行记录表、桌面测试用例表、桌面测试用例步骤表中,其中,从桌面应用页面表中获取测试用例配置;
[0070]
根据在编辑用例集配置界面的操作,将组合的用例集保存在桌面测试用例集表中,其中,从桌面用例执行记录表、桌面测试用例表、桌面测试用例步骤表中获取每一个测试用例以及相应的执行步骤。
[0071]
上述表生成后,相当于将执行测试用例所用到的全部元素进行了统一,并保存在相应的表中,这样就可以利用上述表和封装模板自动生成测试用例代码。从而,不再需要编写用例代码,只需要在图形化的页面进行配置就可以自动生成测试用例代码,实现了配置即应用的自动化测试。
[0072]
自动生成登录成功验证测试用例(test_000_登录成功验证.py)的示例如下;
[0073]
[0074][0075]
运行用例集的示例代码run_cases.py如下:
[0076]
[0077][0078]
报告生成单元50用于将运行测试文件获得的测试结果生成html格式的测试报告。html格式测试报告,采用统一格式,支持登录系统查看执行报告以及企业微信个性化markdown消息方式,如图5所示。
[0079]
本发明方案中,可以基于pyqt5开发桌面客户端,异步同步服务器上测试文件以及项目相关信息如名称、创建人等,支持本地异步触发单个或多个用例集,测试结果入库并实时显示在界面上,相关日志与报告格式与服务端保持一致,如图6所示。
[0080]
本发明,可应用于桌面应用、app测试和web测试,并分别通过uiautomation、win32api、unittest、facebook-wda、atxserver2、zeleunim、docker等进行技术实现各项功能。
[0081]
综合以上具体实施例的描述,本发明提供的一种基于配置即应用模式的ui自动化回归测试系统,与现有技术相比,具有如下优点:
[0082]
采用图形化界面配置页面元素及其操作方式和测试用例,基于配置即应用的模式,自动生成unittest用例代码和统一的用例入口文件,使用方便、快捷,提高了效率。
[0083]
最后,还需要说明的是,在本文中使用的术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个

"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0084]
本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献