一种自动化测试方法、装置、设备及计算机可读存储介质与流程

文档序号:33112115发布日期:2023-02-01 02:18阅读:24来源:国知局
一种自动化测试方法、装置、设备及计算机可读存储介质与流程

1.本发明涉及自动化测试技术领域,特别是涉及一种自动化测试方法、装置、设备及计算机可读存储介质。


背景技术:

2.软件产品开发完成后,为了使新开发的软件产品快速投入生产应用,需要对软件产品进行测试,为了节省人力以及达到人力无法完成的一些测试,需要利用自动化测试技术框架替代人工测试。
3.目前,市面上自动化测试框架众多,依照不同的测试对象和领域拥有不用的自动化测试框架,例如,接口自动化测试框架、ui自动化测试、app自动化测试等拥有不同的测试框架,在使用时候需要通过不同的开发语言或者脚本语言编写脚本来完成,而且对于不同的测试对象和领域使用不同的测试框架来回切换使用。
4.测试者应用自动化测试框架时候,不能统一框架,需要频繁切换框架应对不同的测试领域,使用者需要熟悉多套框架下的规则以及需要具备一定的开发或者脚本编码技术,对使用者的技术能力要求较高,使用过程中的效率低下。
5.综上所述,如何有效地解决现有的自动化测试方法需要频繁切换框架应对不同的测试领域,对使用者的技术能力要求较高,使用过程中的效率低下等问题,是目前本领域技术人员急需解决的问题。


技术实现要素:

6.本发明的目的是提供一种自动化测试方法,该方法大大降低了对使用者的技术能力要求,较大地提升了自动化测试效率;本发明的另一目的是提供一种自动化测试装置、设备及计算机可读存储介质。
7.为解决上述技术问题,本发明提供如下技术方案:
8.一种自动化测试方法,包括:
9.对接收到的测试请求进行解析,得到目标测试关键字和各目标测试参数;
10.根据所述目标测试关键字和各所述目标测试参数从测试用例集合中调取目标测试用例;
11.读取所述目标测试用例对应的目标测试用例路径;
12.按照所述目标测试用例路径执行所述目标测试用例。
13.在本发明的一种具体实施方式中,当所述目标测试用例的个数大于一个时,根据所述目标测试关键字和各所述目标测试参数从测试用例集合中调取目标测试用例,包括:
14.根据所述目标测试关键字和各所述目标测试参数从所述测试用例集合中调取各所述目标测试用例,并确定各所述目标测试用例之间的引用关系;
15.按照所述目标测试用例路径执行所述目标测试用例,包括:
16.根据所述引用关系确定各所述目标测试用例的执行顺序;
17.按照所述执行顺序根据各所述目标测试用例路径执行各所述目标测试用例。
18.在本发明的一种具体实施方式中,当确定各所述目标测试参数对应于同一目标测试用例时,按照所述目标测试用例路径执行所述目标测试用例,包括:
19.依次遍历各所述目标测试参数按照所述目标测试用例路径执行所述目标测试用例。
20.在本发明的一种具体实施方式中,当确定对应于同一目标测试用例的目标测试参数的个数大于等于预设值时,依次遍历各所述目标测试参数按照所述目标测试用例路径执行所述目标测试用例,包括:
21.对所述目标测试用例进行备份,得到各备份测试用例;
22.分别读取各所述备份测试用例对应的备份测试用例路径;
23.基于各所述目标测试参数按照所述目标测试用例路径和所述备份测试用例路径并行执行所述目标测试用例和各所述备份测试用例。
24.在本发明的一种具体实施方式中,在按照所述目标测试用例路径执行所述目标测试用例的过程中,还包括:
25.对执行出错时刻和/或指定执行时刻的执行画面进行截屏,并对各截图进行保存。
26.在本发明的一种具体实施方式中,在按照所述目标测试用例路径执行所述目标测试用例之后,还包括:
27.获取所述目标测试用例的执行结果和执行时间戳;
28.根据所述执行结果和所述执行时间戳生成用例执行结果文件。
29.在本发明的一种具体实施方式中,在按照所述目标测试用例路径执行所述目标测试用例之后,还包括:
30.生成执行日志;其中,所述执行日志包括调试信息和错误日志文件。
31.一种自动化测试装置,包括:
32.请求解析模块,用于对接收到的测试请求进行解析,得到目标测试关键字和各目标测试参数;
33.用例调取模块,用于根据所述目标测试关键字和各所述目标测试参数从测试用例集合中调取目标测试用例;
34.路径读取模块,用于读取所述目标测试用例对应的目标测试用例路径;
35.用例执行模块,用于按照所述目标测试用例路径执行所述目标测试用例。
36.一种自动化测试设备,包括:
37.存储器,用于存储计算机程序;
38.处理器,用于执行所述计算机程序时实现如前所述方法的步骤。
39.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述自动化测试方法的步骤。
40.本发明所提供的自动化测试方法,对接收到的测试请求进行解析,得到目标测试关键字和各目标测试参数;根据目标测试关键字和各目标测试参数从测试用例集合中调取目标测试用例;读取目标测试用例对应的目标测试用例路径;按照目标测试用例路径执行目标测试用例。
41.由上述技术方案可知,通过利用测试关键字和测试参数的组合方式,即可实现对
测试用例的设计和自动调取,不需要像以往的自动化测试框架使用脚本语言或者开发语言来编写自动化测试脚本的繁琐方式。大大降低了对使用者的技术能力要求,较大地提升了自动化测试效率。
42.相应的,本发明还提供了与上述自动化测试方法相对应的自动化测试装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本发明实施例中自动化测试方法的一种实施流程图;
45.图2为本发明实施例中自动化测试方法的另一种实施流程图;
46.图3为本发明实施例中一种自动化测试装置的结构框图;
47.图4为本发明实施例中一种自动化测试设备的结构框图;
48.图5为本实施例提供的一种自动化测试设备的具体结构示意图。
具体实施方式
49.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.参见图1,图1为本发明实施例中自动化测试方法的一种实施流程图,该方法可以包括以下步骤:
51.s101:对接收到的测试请求进行解析,得到目标测试关键字和各目标测试参数。
52.当需要对某测试对象进行测试时,向测试管理中心发送测试请求,测试请求中包含目标测试关键字和各目标测试参数。测试管理中心接收测试请求,并对接收到的测试请求进行解析,得到目标测试关键字和各目标测试参数。
53.目标测试关键字能完成或达到一定的操作目的,例如,打开计算机的浏览器,又或者是打开一个本地文件。目标测试参数为目标测试关键字需要的参数,依照目标测试关键字的需要填写值,例如,打开计算机的浏览器的类型,又或者是本地文件的路径地址等。使用者通过框架可定义众多不同的测试参数和参数值,测试参数在这个执行过程中保持数据一致,执行中正确传递,且能够接受重新赋值。
54.目标测试关键字可以是调用某用例文件中的指定用例,目标测试关键字可以包含目标测试用例路径和目标测试用例名称
55.s102:根据目标测试关键字和各目标测试参数从测试用例集合中调取目标测试用例。
56.预先设置测试用例集合,如预先在excel中编写测试用例,并预先存储各测试关键字、各测试参数以及测试用例集合中各测试用例之间的对应关系。在解析得到目标测试关
键字和各目标测试参数之后,根据目标测试关键字和各目标测试参数从测试用例集合中调取目标测试用例。
57.预先进行引用的概念设计和应用,设置预先编写的自动化测试用例以及测试用例之间组合,都可以被其他测试用例所引用。根据测试需要,调取到的目标测试用例可以为一个,也可以为多个。当调取到的目标测试用例为多个时,可以根据测试需要,根据用例间的引用关系进行测试用例调取,大大节省了重复编写用例的工作,对于不同引用目的中的区别可以通过同一个引用但是参数不同的方式来实现。
58.s103:读取目标测试用例对应的目标测试用例路径。
59.预先存储各测试用例与测试用例路径之间的对应关系,如可以在工具的config文件夹下设置用例文件路径,在调取到目标测试用例之后,读取目标测试用例对应的目标测试用例路径。
60.s104:按照目标测试用例路径执行目标测试用例。
61.在读取目标测试用例对应的目标测试用例路径之后,按照目标测试用例路径执行目标测试用例。
62.测试用例执行方式可以根据测试策略需要设定,可以设置为无人值守的定点执行,也可以设置为人为启动方式启动执行。无人值守执行设定好计算机的执行任务后,即可以让工具定时执行,无需人工干预。如果由人工执行,则双击工具exe文件,即可弹出面板交由执行者点击执行,执行过程中可以随时暂停,终止,查看日志等操作。
63.在本发明的一种具体实施方式中,当确定各目标测试参数对应于同一目标测试用例时,步骤s104可以包括以下步骤:
64.依次遍历各目标测试参数按照目标测试用例路径执行目标测试用例。
65.当确定各目标测试参数对应于同一目标测试用例时,依次遍历各目标测试参数按照目标测试用例路径执行目标测试用例。从而通过对同一个测试用例,连续不断使用不同的参数执行,大大节省了重复编写用例的工作,提高了测试用例的复用率,对于高频测试用例和重复步骤,通过良好的测试用例设计方式可以实现较小测试用例编写量就完成大量测试用例自动化测试执行的目的。
66.在本发明的一种具体实施方式中,当确定对应于同一目标测试用例的目标测试参数的个数大于等于预设值时,依次遍历各目标测试参数按照目标测试用例路径执行目标测试用例,可以包括以下步骤:
67.步骤一:对目标测试用例进行备份,得到各备份测试用例;
68.步骤二:分别读取各备份测试用例对应的备份测试用例路径;
69.步骤三:基于各目标测试参数按照目标测试用例路径和备份测试用例路径并行执行目标测试用例和各备份测试用例。
70.为方便描述,上述三个步骤可以结合起来进行说明。
71.当确定对应于同一目标测试用例的目标测试参数的个数大于等于预设值时,说明当前等待执行同一目标测试用例的目标测试参数较多,若串行执行则测试效率会较低。在这种情况下,对目标测试用例进行备份,得到各备份测试用例,每个备份测试用例对应有各自对应的备份测试用例路径,分别读取各备份测试用例对应的备份测试用例路径,基于各目标测试参数按照目标测试用例路径和备份测试用例路径并行执行目标测试用例和各备
份测试用例。通过对目标测试用例和备份测试用例进行并行执行,较大地提升了测试效率。
72.在本发明的一种具体实施方式中,在按照目标测试用例路径执行目标测试用例的过程中,该方法还可以包括以下步骤:
73.对执行出错时刻和/或指定执行时刻的执行画面进行截屏,并对各截图进行保存。
74.在按照目标测试用例路径执行目标测试用例的过程中,对执行出错时刻和/或指定执行时刻的执行画面进行截屏,并对各截图进行保存。当仅设置了对出错时刻的执行画面进行截屏时,则在出现执行出错时,对执行出错时刻的执行画面进行截屏,保存对执行出错时刻的执行画面截屏得到的截图;当仅设置了对指定执行时刻执行画面进行截屏时,则在达到指定执行时刻时,对指定执行时刻的执行画面进行截屏,保存对指定执行时刻的执行画面截屏得到的截图;当设置了对出错时刻和指定执行时刻的执行画面进行截屏时,则在出现执行出错时,对执行出错时刻的执行画面进行截屏,并在达到指定执行时刻时,对指定执行时刻的执行画面进行截屏,对执行出错时刻的执行画面和指定执行时刻的执行画面均进行截屏。通过对出错时刻的执行画面和指定执行时刻的执行画面均进行截屏,方便后续进行问题分析和定位。
75.在本发明的一种具体实施方式中,在步骤s104之后还可以包括以下步骤:
76.步骤一:获取目标测试用例的执行结果和执行时间戳;
77.步骤二:根据执行结果和执行时间戳生成用例执行结果文件。
78.为方便描述,上述两个步骤可以结合起来进行说明。
79.在按照目标测试用例路径执行目标测试用例之后,获取目标测试用例的执行结果和执行时间戳,根据执行结果和执行时间戳生成用例执行结果文件。方便用户后续通过查看用例执行结果文件,了解到本次测试情况。
80.在本发明的一种具体实施方式中,在步骤s104之后还可以包括以下步骤:
81.生成执行日志;其中,执行日志包括调试信息和错误日志文件。
82.在按照目标测试用例路径执行目标测试用例之后,生成包括调试信息和错误日志文件的执行日志,方便定位和分析问题。还可以执行完毕生成规范测试报告,在执行前预先设定邮件接收人,执行结束后将报告发给邮件给该接收人。还可以支持时间戳查找对应的执行日志。还可以在测试用例执行过程中工具自动处理测试用例失败情况,进行日志记录、截图和用例结果标识处打点,从而不影响其他用例的继续执行。
83.由上述技术方案可知,通过利用测试关键字和测试参数的组合方式,即可实现对测试用例的设计和自动调取,不需要像以往的自动化测试框架使用脚本语言或者开发语言来编写自动化测试脚本的繁琐方式。大大降低了对使用者的技术能力要求,较大地提升了自动化测试效率。
84.需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
85.参见图2,图2为本发明实施例中自动化测试方法的另一种实施流程图,该方法可以包括以下步骤:
86.s201:对接收到的测试请求进行解析,得到目标测试关键字和各目标测试参数。
87.测试请求可以为测试用例文件,通过对测试用例文件进行解析得到用例内容,用
例内容包含各个目标测试关键字和各目标测试参数。除此之外,用例内容中还可以包含各个目标测试关键字和各目标测试参数所组成的用例步骤。
88.s202:当目标测试用例的个数大于一个时,根据目标测试关键字和各目标测试参数从测试用例集合中调取各目标测试用例,并确定各目标测试用例之间的引用关系。
89.预先设置相关联的测试用例之间的引用关系,当目标测试用例的个数大于一个且为不同的测试用例时,根据目标测试关键字和各目标测试参数从测试用例集合中调取各目标测试用例,并确定各目标测试用例之间的引用关系。
90.承接步骤s201中的举例,在解析得到用例内容之后,依次解析和执行测试步骤中的目标测试关键字和各目标测试参数,目标测试关键字和目标测试参数可以是调用其他测试用例路径下的目标测试用例所需的参数,以达到从其他测试用例集合中调取目标测试用例。
91.s203:读取各目标测试用例分别对应的目标测试用例路径。
92.每个测试用例对应设置有各自的测试用例路径。在调取到各目标测试用例之后,读取各目标测试用例分别对应的目标测试用例路径。
93.s204:根据引用关系确定各目标测试用例的执行顺序。
94.在确定出各目标测试用例之间的引用关系之后,根据引用关系确定各目标测试用例的执行顺序。如可以获取各目标测试用例分别对应的用例编号,根据用例编号确定各目标测试用例的执行顺序。
95.s205:按照执行顺序根据各目标测试用例路径执行各目标测试用例。
96.在确定出各目标测试用例的执行顺序之后,按照执行顺序根据各目标测试用例路径基于目标测试参数执行各目标测试用例。每个目标测试用例被依照顺序一个步骤接一个步骤执行,多个步骤组成了有特定意义和目的的测试用例内容,步骤执行完成即为完成用例的执行。一个用例完成后再顺序执行下一个用例。通过设置编写的自动化测试用例以及测试用例之间组合,都可以被其他测试用例所引用,大大节省了重复编写测试用例的工作,提高了测试用例的复用率。
97.目标测试关键字能完成或达到一定的操作目的,对应着真实操作中的一个步骤,例如,打开计算机的浏览器中一个网址为一个步骤,检查网址中某个页面元素是否存在为一个步骤,在网址中登录窗口输入登陆用户名为一个步骤。目标测试关键字为操作目的的功能,测试参数为目标测试关键字需要的参数,依照目标测试关键字的需要填写值,例如,打开计算机的浏览器的类型和url地址,又或者是网页中元素的位置信息,又或者是登陆用户名的名称。使用者通过框架可定义众多不同的测试参数和参数值,测试参数在这个执行过程中保持数据一致,执行中正确传递,且能够接受重新赋值。
98.通过利用测试关键字和测试参数的组合方式,即可实现对测试用例的设计和自动调取,如通过“测试关键字+测试参数”的方式既可以适用于接口自动化测试各种协议方式,又可以适用于ui(user interface,用户界面)自动化测试各种定位和操作,从而达到了一套框架实现接口和ui自动化测试的目的,实现执行过程中可以就同一测试对象,进行数据传输和测试过程关联。接口自动化测试方式中需要兼容和包含不同的协议类型、不同传输的报文格式、不同的编码字符,这些均可以在框架中设计好,并符合约定“测试关键字+测试参数”方式。ui自动化测试方式中兼容和包含不同的界面定位方式,对界面控件的不同操作
方式以及校验方式,并符合约定“关键字+参数”方式。支持在ui自动化操作过程中也能使用接口自动化方式对测试对象进行交互并把结果反馈,为ui测试继续进行准备条件;反之亦然。开发者无需具备编码能力或脚本能力,只需要知道测试关键字能够达到的测试意义即可。并且可以预先设置对测试关键字的功能目的以及参数使用进行指示的操作文档说明,使用者知道其意义既可以设计操作步骤,从而完成一定的测试目的。
99.相应于上面的方法实施例,本发明还提供了一种自动化测试装置,下文描述的自动化测试装置与上文描述的自动化测试方法可相互对应参照。
100.参见图3,图3为本发明实施例中一种自动化测试装置的结构框图,该装置可以包括:
101.请求解析模块31,用于对接收到的测试请求进行解析,得到目标测试关键字和各目标测试参数;
102.用例调取模块32,用于根据目标测试关键字和各目标测试参数从测试用例集合中调取目标测试用例;
103.路径读取模块33,用于读取目标测试用例对应的目标测试用例路径;
104.用例执行模块34,用于按照目标测试用例路径执行目标测试用例。
105.由上述技术方案可知,通过利用测试关键字和测试参数的组合方式,即可实现对测试用例的设计和自动调取,不需要像以往的自动化测试框架使用脚本语言或者开发语言来编写自动化测试脚本的繁琐方式。大大降低了对使用者的技术能力要求,较大地提升了自动化测试效率。
106.在本发明的一种具体实施方式中,用例调取模块32具体为当目标测试用例的个数大于一个时,根据目标测试关键字和各目标测试参数从测试用例集合中调取各目标测试用例,并确定各目标测试用例之间的引用关系的模块;
107.用例执行模块34包括:
108.执行顺序确定子模块,用于根据引用关系确定各目标测试用例的执行顺序;
109.第一用例执行子模块,用于按照执行顺序根据各目标测试用例路径执行各目标测试用例。
110.在本发明的一种具体实施方式中,用例执行模块34具体为当确定各目标测试参数对应于同一目标测试用例时,依次遍历各目标测试参数按照目标测试用例路径执行目标测试用例的模块。
111.在本发明的一种具体实施方式中,用例执行模块34包括:
112.用例备份子模块,用于对目标测试用例进行备份,得到各备份测试用例;
113.备份路径读取子模块,用于分别读取各备份测试用例对应的备份测试用例路径;
114.第二用例执行子模块,用于基于各目标测试参数按照目标测试用例路径和备份测试用例路径并行执行目标测试用例和各备份测试用例。
115.在本发明的一种具体实施方式中,该装置还可以包括:
116.截图保存模块,用于在按照目标测试用例路径执行目标测试用例的过程中,对执行出错时刻和/或指定执行时刻的执行画面进行截屏,并对各截图进行保存。
117.在本发明的一种具体实施方式中,该装置还可以包括:
118.结果及时间戳获取模块,用于在按照目标测试用例路径执行目标测试用例之后,
获取目标测试用例的执行结果和执行时间戳;
119.结果文件生成模块,用于根据执行结果和执行时间戳生成用例执行结果文件。
120.在本发明的一种具体实施方式中,该装置还可以包括:
121.日志生成模块,用于在按照目标测试用例路径执行目标测试用例之后,生成执行日志;其中,执行日志包括调试信息和错误日志文件。
122.相应于上面的方法实施例,参见图4,图4为本发明所提供的自动化测试设备的示意图,该设备可以包括:
123.存储器332,用于存储计算机程序;
124.处理器322,用于执行计算机程序时实现上述方法实施例的自动化测试方法的步骤。
125.具体的,请参考图5,图5为本实施例提供的一种自动化测试设备的具体结构示意图,该自动化测试设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在自动化测试设备301上执行存储器332中的一系列指令操作。
126.自动化测试设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
127.上文所描述的自动化测试方法中的步骤可以由自动化测试设备的结构实现。
128.相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
129.对接收到的测试请求进行解析,得到目标测试关键字和各目标测试参数;根据目标测试关键字和各目标测试参数从测试用例集合中调取目标测试用例;读取目标测试用例对应的目标测试用例路径;按照目标测试用例路径执行目标测试用例。
130.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
131.对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
132.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
133.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1