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

基于BS架构的测试脚本生成方法、系统与流程

2022-11-30 07:21:51 来源:中国专利 TAG:

基于bs架构的测试脚本生成方法、系统
技术领域
1.本发明涉及性能测试技术领域,特别是涉及一种基于bs架构的测试脚本生成方法、系统、计算机设备及存储介质。


背景技术:

2.脚本是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。脚本是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。传统的bs架构系统的性能测试脚本转换通常使用手工拷贝或者借助fiddler工具完成,fiddler目前提供一个插件可以支持脚本转换。其中,fiddler是一个http协议调试代理工具,它能够记录并检查所有电脑和互联网之间的http通讯,设置断点,查看所有的“进出”fiddler的数据。
3.然而,目前fiddler的插件方案,仅仅支持在抓取报文时转换,无法支持多业务、无法支持参数化功能;同时该方案存在环境依赖必须安装fiddler及插件,无法达到灵活使用的目的,且在某些系统中,由于部分请求结构特殊,无法通过fiddler工具抓取进行转换。


技术实现要素:

4.基于此,为了解决上述技术问题,提供一种基于bs架构的测试脚本生成方法、系统、计算机设备及存储介质,可以支持多业务同时转换、支持转换请求的参数化。
5.一种基于bs架构的测试脚本生成方法,所述方法包括:
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.一种基于bs架构的测试脚本生成系统,所述系统包括:
32.信息解析模块,用于获取构建脚本的原始报文,解析所述原始报文并将解析结果存储至请求数组中,遍历所述请求数组中的所有请求,并对各个所述请求进行解析,筛选出各个所述请求中的关键信息;
33.数据存储模块,用于根据请求类型对所述关键信息进行分组,并获取各个所述关键信息的组别;清洗所述关键信息得到颗粒化后的信息;根据所述关键信息对各个所述请求进行排序得到排序结果,同时拆分各个所述请求的请求数据及响应数据,存储各个所述请求的请求数据及响应数据;
34.脚本构建模块,用于构建脚本逻辑架构元素,根据所述脚本逻辑架构元素、所述关
键信息、所述关键信息的组别、所述颗粒化后的信息构建脚本,得到初始脚本;
35.参数化模块,用于针对各个所述组别中的请求信息,获取当前请求的请求数据,并根据所述排序结果,以所述当前请求为基础获取前置请求的响应数据,根据所述当前请求的请求数据以及所述前置请求的响应数据确定参数,并对所述参数进行参数化处理,得到参数化后的数据;
36.测试脚本生成模块,用于根据排序后的所述初始脚本以及所述参数化后的数据,生成测试脚本。
37.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
38.获取构建脚本的原始报文,解析所述原始报文并将解析结果存储至请求数组中,遍历所述请求数组中的所有请求,并对各个所述请求进行解析,筛选出各个所述请求中的关键信息;
39.根据请求类型对所述关键信息进行分组,并获取各个所述关键信息的组别;清洗所述关键信息得到颗粒化后的信息;根据所述关键信息对各个所述请求进行排序得到排序结果,同时拆分各个所述请求的请求数据及响应数据,存储各个所述请求的请求数据及响应数据;
40.构建脚本逻辑架构元素,根据所述脚本逻辑架构元素、所述关键信息、所述关键信息的组别、所述颗粒化后的信息构建脚本,得到初始脚本;
41.针对各个所述组别中的请求信息,获取当前请求的请求数据,并根据所述排序结果,以所述当前请求为基础获取前置请求的响应数据,根据所述当前请求的请求数据以及所述前置请求的响应数据确定参数,并对所述参数进行参数化处理,得到参数化后的数据;
42.根据排序后的所述初始脚本以及所述参数化后的数据,生成测试脚本。
43.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
44.获取构建脚本的原始报文,解析所述原始报文并将解析结果存储至请求数组中,遍历所述请求数组中的所有请求,并对各个所述请求进行解析,筛选出各个所述请求中的关键信息;
45.根据请求类型对所述关键信息进行分组,并获取各个所述关键信息的组别;清洗所述关键信息得到颗粒化后的信息;根据所述关键信息对各个所述请求进行排序得到排序结果,同时拆分各个所述请求的请求数据及响应数据,存储各个所述请求的请求数据及响应数据;
46.构建脚本逻辑架构元素,根据所述脚本逻辑架构元素、所述关键信息、所述关键信息的组别、所述颗粒化后的信息构建脚本,得到初始脚本;
47.针对各个所述组别中的请求信息,获取当前请求的请求数据,并根据所述排序结果,以所述当前请求为基础获取前置请求的响应数据,根据所述当前请求的请求数据以及所述前置请求的响应数据确定参数,并对所述参数进行参数化处理,得到参数化后的数据;
48.根据排序后的所述初始脚本以及所述参数化后的数据,生成测试脚本。
49.上述基于bs架构的测试脚本生成方法、系统、计算机设备及存储介质,通过获取构建脚本的原始报文,解析原始报文并将解析结果存储至请求数组中,遍历请求数组中的所
有请求,并对各个请求进行解析,筛选出各个请求中的关键信息;根据请求类型对关键信息进行分组,并获取各个关键信息的组别;清洗关键信息得到颗粒化后的信息;根据关键信息对各个请求进行排序得到排序结果,同时拆分各个请求的请求数据及响应数据,存储各个请求的请求数据及响应数据;构建脚本逻辑架构元素,根据脚本逻辑架构元素、关键信息、关键信息的组别、颗粒化后的信息构建脚本,得到初始脚本;针对各个组别中的请求信息,获取当前请求的请求数据,并根据排序结果,以当前请求为基础获取前置请求的响应数据,根据当前请求的请求数据以及前置请求的响应数据确定参数,并对参数进行参数化处理,得到参数化后的数据;根据排序后的初始脚本以及参数化后的数据,生成测试脚本。由于根据请求类型对关键信息进行了分组,分组目的为支持同时构建多个业务测试脚本,实现了同时支持多个业务测试脚本的功能;通过对确认响应数据来源于某个前置请求的返回的参数进行参数化处理,实现了参数化功能。
附图说明
50.图1为一个实施例中基于bs架构的测试脚本生成方法的应用环境图;
51.图2为一个实施例中基于bs架构的测试脚本生成方法的流程示意图;
52.图3为一个实施例中基于bs架构的测试脚本生成系统的结构框图;
53.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
55.本技术实施例提供的基于bs架构的测试脚本生成方法,可以应用于如图1所示的应用环境中。如图1所示,该应用环境包括计算机设备110。计算机设备110可以获取构建脚本的原始报文,解析原始报文并将解析结果存储至请求数组中,遍历请求数组中的所有请求,并对各个请求进行解析,筛选出各个请求中的关键信息;计算机设备110可以根据请求类型对关键信息进行分组,并获取各个关键信息的组别;清洗关键信息得到颗粒化后的信息;根据关键信息对各个请求进行排序得到排序结果,同时拆分各个请求的请求数据及响应数据,存储各个请求的请求数据及响应数据;计算机设备110可以构建脚本逻辑架构元素,根据脚本逻辑架构元素、关键信息、关键信息的组别、颗粒化后的信息构建脚本,得到初始脚本;针对各个组别中的请求信息,计算机设备110可以获取当前请求的请求数据,并根据排序结果,以当前请求为基础获取前置请求的响应数据,根据当前请求的请求数据以及前置请求的响应数据确定参数,并对参数进行参数化处理,得到参数化后的数据;计算机设备110可以根据排序后的初始脚本以及参数化后的数据,生成测试脚本。其中,计算机设备110可以但不限于是各种个人计算机、笔记本电脑、智能手机、机器人、无人飞行器、平板电脑等。
56.在一个实施例中,如图2所示,提供了一种基于bs架构的测试脚本生成方法,包括以下步骤:
57.步骤202,获取构建脚本的原始报文,解析原始报文并将解析结果存储至请求数组
中,遍历请求数组中的所有请求,并对各个请求进行解析,筛选出各个请求中的关键信息。
58.计算机设备可以获取构建脚本的原始报文,解析原始报文并将解析结果存储至请求数组中,并遍历请求数组中的所有请求。具体的,计算机设备在遍历所有请求的过程中,需要对各个请求进行解析,从而根据特定的格式和内容筛选出各个请求中的关键信息。其中,关键信息可以用于表示构建脚本时所需要的基本信息及辅助数据;基本信息例如可以是请求方法、请求的内容、请求返回内容等,辅助信息例如可以是请求的时间戳等。其中,源文件可以基于chrome浏览器,将跟踪的请求内容保存为har格式文件,har文件内容可以是json格式,还可以是其他格式,在此不作限定。
59.步骤204,根据请求类型对关键信息进行分组,并获取各个关键信息的组别;清洗关键信息得到颗粒化后的信息;根据关键信息对各个请求进行排序得到排序结果,同时拆分各个请求的请求数据及响应数据,存储各个请求的请求数据及响应数据。
60.其中,不同的请求类型可以用于表示不同的业务,计算机设备可以根据请求类型即业务,对关键信息进行分组,并获取各个关键信息的组别。同样的,不同的组别可以用于表示不同的业务。在本实施例中,分组目的为支持同时构建多个业务测试脚本。
61.计算机设备可以对报文中的关键信息进行清洗处理,清洗的目的可以包括筛除数据和拆分细化数据,清洗可以筛除不必要内容,将信息颗粒化,从而得到颗粒化后的信息。同时,计算机设备可以根据关键信息对各个请求进行排序,从而得到排序结果。计算机设备还可以拆分各个请求的请求数据及响应数据,并将各个请求的请求数据及响应数据以特定形式进行存储,例如采用dataframe格式的数据进行存储。
62.步骤206,构建脚本逻辑架构元素,根据脚本逻辑架构元素、关键信息、关键信息的组别、颗粒化后的信息构建脚本,得到初始脚本。
63.脚本逻辑架构可以是jmeter的脚本架构,计算机设备可以构建jmeter的脚本逻辑架构元素,从而根据对各个请求的解析结果,以及脚本逻辑架构元素得到初始脚本。
64.步骤208,针对各个组别中的请求信息,获取当前请求的请求数据,并根据排序结果,以当前请求为基础获取前置请求的响应数据,根据当前请求的请求数据以及前置请求的响应数据确定参数,并对参数进行参数化处理,得到参数化后的数据。
65.在本实施例中,各个请求均对应有请求数据和响应数据。计算机设备可以针对各个组别中的请求信息,查找到当前请求,并获取当前请求对应的请求数据。同时,计算机设备可以根据排序结果,以当前请求为基础获取前置请求对应的响应数据。
66.具体的,计算机设备可以将当前请求的请求数据与前置请求的响应数据进行匹配,从而确定当前请求的请求数据是来源于前置请求的响应数据,此时可以对当前请求的请求数据对应的参数进行参数化处理,得到参数化后的数据。
67.步骤210,根据排序后的初始脚本以及参数化后的数据,生成测试脚本。
68.计算机设备可以根据根据排序后的初始脚本以及参数化后的数据,自动构建测试脚本。其中,构建成的测试脚本可以涵盖请求、事务控制器、线程组等关键信息。
69.在本实施例中,通过获取构建脚本的原始报文,解析原始报文并将解析结果存储至请求数组中,遍历请求数组中的所有请求,并对各个请求进行解析,筛选出各个请求中的关键信息;根据请求类型对关键信息进行分组,并获取各个关键信息的组别;清洗关键信息得到颗粒化后的信息;根据关键信息对各个请求进行排序得到排序结果,同时拆分各个请
求的请求数据及响应数据,存储各个请求的请求数据及响应数据;构建脚本逻辑架构元素,根据脚本逻辑架构元素、关键信息、关键信息的组别、颗粒化后的信息构建脚本,得到初始脚本;针对各个组别中的请求信息,获取当前请求的请求数据,并根据排序结果,以当前请求为基础获取前置请求的响应数据,根据当前请求的请求数据以及前置请求的响应数据确定参数,并对参数进行参数化处理,得到参数化后的数据;根据排序后的初始脚本以及参数化后的数据,生成测试脚本。由于根据请求类型对关键信息进行了分组,分组目的为支持同时构建多个业务测试脚本,实现了同时支持多个业务测试脚本的功能;通过对确认响应数据来源于某个前置请求的返回的参数进行参数化处理,实现了参数化功能。
70.在一个实施例中,提供的一种基于bs架构的测试脚本生成方法还可以包括对各个请求进行解析的过程,具体过程包括:获取键值对,并通过键值对遍历请求数组中的所有请求,且在遍历的过程中提取请求中的关键信息;其中,关键信息包括请求类型、请求方法、报文主体、路径信息、响应数据、时间戳。
71.键值对可以是预先设置好的,指定的键值对key:value。计算机设备可以通过指定的键值对读取请求数组,并遍历请求数组中的所有请求,从而提取各个请求中的关键信息。
72.在一个实施例中,提供的一种基于bs架构的测试脚本生成方法还可以包括清洗信息的过程,具体过程包括:获取预先设置的筛选规则;根据筛选规则删除关键信息中的辅助字段,并筛选保留关键信息中的目标信息;目标信息中包含有路径信息;提取目标信息中的路径信息,并将路径信息逐步解析,得到颗粒化后的信息。
73.计算机设备可以根据预先设置的筛选规则对报文中的关键信息进行清洗,其中,清洗可以包括筛除不必要内容,删除关键信息中的辅助字段,并筛选保留关键信息中的目标信息。举例说明,在清洗后,有些字段就不再需要例如辅助字段,这些字段在清洗完成后,需要删除;筛除指两个动作,在清洗后的数据中筛选保留有效数据,删除无效数据。
74.其中,路径信息属于有效数据,计算机设备在对关键信息进行清洗时,可以对有效数据进行保留。计算机设备可以将有效数据中的路径信息逐步解析,得到颗粒化后的信息。具体的,颗粒化后的信息可以用作构建脚本时定义请求名称。
75.在一个实施例中,提供的一种基于bs架构的测试脚本生成方法还可以包括对各个请求进行排序得到排序结果的过程,具体过程包括:提取各个请求对应的关键信息中的时间戳;根据时间戳对各个请求进行排序,得到排序结果。
76.由于关键信息中包含有时间戳,计算机设备可以提取出各个请求对应的关键信息中的时间戳,从而根据时间戳对各个请求进行排序,进而得到排序结果。
77.在一个实施例中,提供的一种基于bs架构的测试脚本生成方法还可以包括得到节点元素的过程,具体过程包括:构建目标脚本架构,并根据目标脚本架构分析得到节点元素;将节点元素作为脚本逻辑架构元素并以配置文件形式进行保存。
78.其中,目标脚本架构可以是jmeter的脚本架构。计算机设备可以构建jmeter的脚本架构,并分析得到节点元素,节点元素可以以配置文件形式保存并被引用。
79.在一个实施例中,提供的一种基于bs架构的测试脚本生成方法还可以包括参数化处理的过程,具体过程包括:分别获取各个请求对应的参数评分区间,根据排序结果以当前请求为基础逐步向上回溯,将当前请求的请求数据与各个请求的响应数据进行比对,得到比对结果;当比对结果为匹配成功时,将当前请求中对应的数据进行参数化处理。
80.具体的,计算机设备可以将参数key、value、key value构建为一个数据集合。计算机设备可以根据对请求的排序结果将当前请求的请求数据逐步向上回溯与各个请求的响应数据进行比对,从而得到比对结果。其中,比对过程可以基于权重和特征匹配算法。举例说明,总分值为10,按照比例划分评分区间,同时设定阈值,当大于阈值时则认为匹配成功。其中,特征匹配的原则为,分别对比key、value、key value,根据评分区间和匹配度返回评分,本实施例key项评分区间为0-3,value项评分区间为0-3,key vaue项评分区间为0-4,阈值为8。在参数化过程中,可以设置回溯请求的数量,进行回溯时如已达到最大回溯量且未确认返回来源,则终止回溯同时返回信息提示用户参数来源未确认,如已确认参数来源,则终止回溯动作,同时返回参数源数据等。举例说明,请求request_d的参数parameter_d,向上回溯,发现在请求request_a中其返回值responses_a和parameter_d的特征值比对结果总计8.5.则认为请求request_d的参数parameter_d来源于request_a的返回值responses_a。然后将请求request_a的返回字段作为传参在请求request_d中参数化。
81.在本实施例中,由于对关键信息进行了分组,不同的组表示不同的业务,当存在有多个业务时,计算机设备可以循环执行构建初始脚本以及对参数进行参数化处理的过程。其中,业务名称命名创建对应业务的线程组或是事务控制器。
82.在一个实施例中,提供的一种基于bs架构的测试脚本生成方法还可以包括生成测试脚本的过程,具体过程包括:根据排序后的初始脚本以及参数化后的数据,构建线程组;根据关键信息的组别创建逻辑控制器;根据关键信息创建传递的参数字段和传参数据;根据线程组、逻辑控制器、传递的参数字段和传参数据生成测试脚本;将测试脚本的脚本内容输出为目标文件格式,保存至目标路径下。
83.在本实施例中,计算机设备可以根据jmeter脚本的逻辑架构,先行构建线程组,而后依据业务逻辑创建逻辑控制器,而后添加请求;在添加请求同时,根据解析的数据,创建传递的参数字段和传参数据。
84.在本实施例中,构建脚本中可以借助配置文件完成差异需求的实现,例如,可以通过计算机设备设置执行方式,用户参数等,这样构建完成的脚本即满足自身的差异性需求。其中,自动构建测试脚本,构建出的测试脚本可以涵盖请求、事务控制器、线程组等关键信息。
85.脚本构建完成后,将脚本内容输出为目标文件格式,其中,目标文件格式可以是性能测试工具支持的文件格式,保存至目标路径下,目标路径可以是用户通过计算机设备指定的特定路径。脚本文件格式支持但不限于xml格式,保存路径可为固定值也可支持动态传参。举例说明,本实施例中构建完成的脚本为*.jmx,内容为xml格式,为性能测试工具jmeter所支持的标准脚本文件。
86.在本实施例中,生成的测试脚本,根据自身的差异性需求进行简单设置后,可达到即转即用的目的;通过参数化处理将差异化需求合并入构建脚本过程中,可以达到的即转即用的目的。
87.应该理解的是,虽然上述各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各个流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是
在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
88.在一个实施例中,如图3所示,提供了一种基于bs架构的测试脚本生成系统,包括:信息解析模块310、数据存储模块320、脚本构建模块330、参数化模块340和测试脚本生成模块350,其中:
89.信息解析模块310,用于获取构建脚本的原始报文,解析原始报文并将解析结果存储至请求数组中,遍历请求数组中的所有请求,并对各个请求进行解析,筛选出各个请求中的关键信息;
90.数据存储模块320,用于根据请求类型对关键信息进行分组,并获取各个关键信息的组别;清洗关键信息得到颗粒化后的信息;根据关键信息对各个请求进行排序得到排序结果,同时拆分各个请求的请求数据及响应数据,存储各个请求的请求数据及响应数据;
91.脚本构建模块330,用于构建脚本逻辑架构元素,根据脚本逻辑架构元素、关键信息、关键信息的组别、颗粒化后的信息构建脚本,得到初始脚本;
92.参数化模块340,用于针对各个组别中的请求信息,获取当前请求的请求数据,并根据排序结果,以当前请求为基础获取前置请求的响应数据,根据当前请求的请求数据以及前置请求的响应数据确定参数,并对参数进行参数化处理,得到参数化后的数据;
93.测试脚本生成模块350,用于根据排序后的初始脚本以及参数化后的数据,生成测试脚本。
94.在一个实施例中,信息解析模块310还用于获取键值对,并通过键值对遍历请求数组中的所有请求,且在遍历的过程中提取请求中的关键信息;其中,关键信息包括请求类型、请求方法、报文主体、路径信息、响应数据、时间戳。
95.在一个实施例中,数据存储模块320还用于获取预先设置的筛选规则;根据所述筛选规则删除关键信息中的辅助字段,筛选并保留关键信息中的目标信息;目标信息中包含有路径信息;提取目标信息中的路径信息,并将路径信息逐步解析,得到颗粒化后的信息。
96.在一个实施例中,数据存储模块320还用于提取各个请求对应的关键信息中的时间戳;根据时间戳对各个请求进行排序,得到排序结果。
97.在一个实施例中,脚本构建模块330还用于构建目标脚本架构,并根据目标脚本架构分析得到节点元素;将节点元素作为脚本逻辑架构元素并以配置文件形式进行保存。
98.在一个实施例中,参数化模块340还用于分别获取各个请求对应的参数评分区间,根据排序结果以当前请求为基础逐步向上回溯,将当前请求的请求数据与各个请求的响应数据进行比对,得到比对结果;当比对结果为匹配成功时,将当前请求中对应的数据进行参数化处理。
99.在一个实施例中,测试脚本生成模块350还用于根据排序后的初始脚本以及参数化后的数据,构建线程组;根据关键信息的组别创建逻辑控制器;根据关键信息创建传递的参数字段和传参数据;根据线程组、逻辑控制器、传递的参数字段和传参数据生成测试脚本;将测试脚本的脚本内容输出为目标文件格式,保存至目标路径下。
100.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示
屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于bs架构的测试脚本生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
101.本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
102.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
103.获取构建脚本的原始报文,解析原始报文并将解析结果存储至请求数组中,遍历请求数组中的所有请求,并对各个请求进行解析,筛选出各个请求中的关键信息;
104.根据请求类型对关键信息进行分组,并获取各个关键信息的组别;清洗关键信息得到颗粒化后的信息;根据关键信息对各个请求进行排序得到排序结果,同时拆分各个请求的请求数据及响应数据,存储各个请求的请求数据及响应数据;
105.构建脚本逻辑架构元素,根据脚本逻辑架构元素、关键信息、关键信息的组别、颗粒化后的信息构建脚本,得到初始脚本;
106.针对各个组别中的请求信息,获取当前请求的请求数据,并根据排序结果,以当前请求为基础获取前置请求的响应数据,根据当前请求的请求数据以及前置请求的响应数据确定参数,并对参数进行参数化处理,得到参数化后的数据;
107.根据排序后的初始脚本以及参数化后的数据,生成测试脚本。
108.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取键值对,并通过键值对遍历请求数组中的所有请求,且在遍历的过程中提取请求中的关键信息;其中,关键信息包括请求类型、请求方法、报文主体、路径信息、响应数据、时间戳。
109.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预先设置的筛选规则;根据筛选规则删除关键信息中的辅助字段,筛选并保留关键信息中的目标信息;目标信息中包含有路径信息;提取目标信息中的路径信息,并将路径信息逐步解析,得到颗粒化后的信息。
110.在一个实施例中,处理器执行计算机程序时还实现以下步骤:提取各个请求对应的关键信息中的时间戳;根据时间戳对各个请求进行排序,得到排序结果。
111.在一个实施例中,处理器执行计算机程序时还实现以下步骤:构建目标脚本架构,并根据目标脚本架构分析得到节点元素;将节点元素作为脚本逻辑架构元素并以配置文件形式进行保存。
112.在一个实施例中,处理器执行计算机程序时还实现以下步骤:分别获取各个请求对应的参数评分区间,根据排序结果以当前请求为基础逐步向上回溯,将当前请求的请求数据与各个请求的响应数据进行比对,得到比对结果;当比对结果为匹配成功时,将当前请求中对应的数据进行参数化处理。
113.在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据排序后的初始脚本以及参数化后的数据,构建线程组;根据关键信息的组别创建逻辑控制器;根据关键信息创建传递的参数字段和传参数据;根据线程组、逻辑控制器、传递的参数字段和传参数据生成测试脚本;将测试脚本的脚本内容输出为目标文件格式,保存至目标路径下。
114.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
115.获取构建脚本的原始报文,解析原始报文并将解析结果存储至请求数组中,遍历请求数组中的所有请求,并对各个请求进行解析,筛选出各个请求中的关键信息;
116.根据请求类型对关键信息进行分组,并获取各个关键信息的组别;清洗关键信息得到颗粒化后的信息;根据关键信息对各个请求进行排序得到排序结果,同时拆分各个请求的请求数据及响应数据,存储各个请求的请求数据及响应数据;
117.构建脚本逻辑架构元素,根据脚本逻辑架构元素、关键信息、关键信息的组别、颗粒化后的信息构建脚本,得到初始脚本;
118.针对各个组别中的请求信息,获取当前请求的请求数据,并根据排序结果,以当前请求为基础获取前置请求的响应数据,根据当前请求的请求数据以及前置请求的响应数据确定参数,并对参数进行参数化处理,得到参数化后的数据;
119.根据排序后的初始脚本以及参数化后的数据,生成测试脚本。
120.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取键值对,并通过键值对遍历请求数组中的所有请求,且在遍历的过程中提取请求中的关键信息;其中,关键信息包括请求类型、请求方法、报文主体、路径信息、响应数据、时间戳。
121.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预先设置的筛选规则;根据筛选规则删除关键信息中的辅助字段,筛选并保留关键信息中的目标信息;目标信息中包含有路径信息;提取目标信息中的路径信息,并将路径信息逐步解析,得到颗粒化后的信息。
122.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:提取各个请求对应的关键信息中的时间戳;根据时间戳对各个请求进行排序,得到排序结果。
123.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:构建目标脚本架构,并根据目标脚本架构分析得到节点元素;将节点元素作为脚本逻辑架构元素并以配置文件形式进行保存。
124.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:分别获取各个请求对应的参数评分区间,根据排序结果以当前请求为基础逐步向上回溯,将当前请求的请求数据与各个请求的响应数据进行比对,得到比对结果;当比对结果为匹配成功时,将当前请求中对应的数据进行参数化处理。
125.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据排序后的初始脚本以及参数化后的数据,构建线程组;根据关键信息的组别创建逻辑控制器;根据关键信息创建传递的参数字段和传参数据;根据线程组、逻辑控制器、传递的参数字段和传参数据生成测试脚本;将测试脚本的脚本内容输出为目标文件格式,保存至目标路径下。
126.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机
可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
127.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
128.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献