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

测试脚本构建方法、装置、计算机设备及存储介质与流程

2022-06-05 19:20:36 来源:中国专利 TAG:


1.本发明实施例涉及计算机程序领域,尤其涉及一种测试脚本构建方法、装置、计算机设备及存储介质。


背景技术:

2.windows communication foundation(wcf)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为windows通讯开发平台。该平台整合了原有windows通讯的.net remoting、webservice和socket机制,并融合有http和ftp等相关技术,是windows平台上开发分布式应用最佳的实践方式。
3.wcf支持http、tcp、named pipe、msmq和peer-to-peer tcp等协议,而http又分为基本http支持(basichttpbinding)以及ws-http支持(wshttpbinding),tcp亦支持nettcpbinding和netpeertcpbinding等通信方式。
4.发明人在实现本发明的过程中发现,上述通信方式,特别是除基础协议之外的其他通信方式的传输请求特别复杂,且需要人工编写测试脚本,测试效率较低。


技术实现要素:

5.本发明实施例提供了一种测试脚本构建方法、装置、计算机设备及存储介质,解决了现有技术无法实现对wcf通信方式产生的待测数据进行高效测试的问题。
6.第一方面,本发明实施例提供了一种测试脚本构建方法,包括:
7.获取预设标准格式的待测数据,所述待测数据对应至少一个请求;
8.对所述预设标准格式的待测数据进行解析以得到解析结果;
9.根据预设合并规则确定该解析结果中属于同一请求的测试数据,并完成同一请求的测试数据的合并以更新每个请求的测试数据;
10.将更新后的所有请求的测试数据添加至预设测试脚本框架以生成测试脚本。
11.进一步,所述预设标准格式为标准json格式,相应的,所述对所述预设标准格式的待测数据进行解析以得到解析结果,包括:
12.对标准json格式的测试数据进行解析以得到至少一个字典,每个字典对应一个请求;
13.根据预设关键字从每个字典中提取对应请求的测试数据以得到解析结果。
14.进一步,所述根据预设关键字从每个字典中提取对应请求的测试数据以得到解析结果的同时,还包括:
15.将从每个字典提取的测试数据输出至pandas模块存储,所述pandas模块以dataframe格式存储每个字典的测试数据。
16.进一步,所述根据预设合并规则确定该解析结果中属于同一请求的测试数据,并完成同一请求的测试数据的合并以更新每个请求的测试数据,包括:
17.根据同一请求的索引序号相同的原则,将解析结果中对应同一请求的测试数据段
划分为一组;
18.将每个组别内的解析结果转换为文本格式,并对文本格式的解析结果进行预处理,以更新每个组别的解析结果;
19.完成所有同一组别内的测试数据段的合并以更新每个组别的测试数据,从而得到每个请求的测试数据。
20.进一步,所述预处理包括:
21.对文本格式的解析结果的第一目标内容进行替换处理和对第二目标内容进行转义处理。
22.进一步,在将所述解析结果转换为文本格式的同时,还包括:
23.如果检测到err等级低于预设报警阈值,则继续执行格式转换;反之,如果检测到err等级高于或等于预设报警阈值,则中断当前的格式转换过程。
24.进一步,所述预设测试脚本框架包括至少一个线程组,所述待测数据对应至少一个业务内容,每个业务内容对应至少一个请求,所述将更新后的所有请求的测试数据添加至预设测试脚本框架以生成测试脚本,包括:
25.将更新后属于同一业务内容的所有请求的测试数据添加至预设测试脚本框架的同一线程组,以生成测试脚本。
26.第二方面,本发明实施例还提供了一种测试脚本构建装置,包括:
27.获取模块,用于获取预设标准格式的待测数据,所述待测数据对应至少一个请求;
28.解析模块,用于对所述预设标准格式的待测数据进行解析以得到解析结果;
29.合并模块,用于根据预设合并规则确定该解析结果中属于同一请求的测试数据,并完成同一请求的测试数据的合并以更新每个请求的测试数据;
30.脚本生成模块,用于将更新后的所有请求的测试数据添加至预设测试脚本框架以生成测试脚本。
31.第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
32.一个或多个处理器;
33.存储装置,用于存储一个或多个程序;
34.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如任意实施例所述的测试脚本构建方法。
35.第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行任意实施例所述的测试脚本构建方法。
36.本发明实施例提供的测试脚本构建方法的技术方案,获取预设标准格式的待测数据,待测数据对应至少一个请求;对预设标准格式的待测数据进行解析以得到解析结果,解决了原始格式的测试数据的解析结果准确性较低的问题;根据预设合并规则确定该解析结果中属于同一请求的测试数据,并完成同一请求的测试数据的合并以更新每个请求的测试数据;将更新后的所有请求的测试数据添加至预设测试脚本框架以生成测试脚本,通过预设测试脚本框架快速地生成所有请求的测试数据对应的测试脚本,达到了通过自动构建的测试脚本对wcf框架下复杂测试数据进行快速有效测试的技术效果。
附图说明
37.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1是本发明实施例一提供的测试脚本构建方法的流程图;
39.图2是本发明实施例二提供的测试脚本构建装置的结构框图;
40.图3是本发明实施例三提供的计算机设备的结构框图。
具体实施方式
41.为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.实施例一
43.图1是本发明实施例一提供的测试脚本构建方法的流程图。本实施例的技术方案适用于自动构建wcf通信方式的待测数据的测试脚本的情况。该方法可以由本发明实施例提供的测试脚本构建装置来执行,该装置可以采用软件和/或硬件的方式实现,并配置在计算机设备的处理器中应用。该方法具体包括如下步骤:
44.s101、获取预设标准格式的待测数据,该待测数据对应至少一个请求。
45.其中,待测数据是从wcf通信的客户端或服务端收集的16进制报文,对应一个或多个请求。
46.若测试对象为客户端,那么本实施例中的请求为客户端向服务端发出的请求;若测试对象为服务端,那么本实施例中的请求为服务端向客户端发出的请求。以测试对象是客户端为例,用户在客户端登录自己账户时,客户端根据用户输入的账户信息向服务端至少发出账户信息验证请求、登录时间同步记录请求。那么该账户信息验证请求、登录时间同步记录请求均为本实施例所述的请求。
47.其中,每个请求的测试数据可能以一个测试数据段的形式存在,也可能以至少两个测试数据段的形式存在,无论以几个测试数据段的形式存在,每个数据段均含有索引序号、排序序号和预设首尾字符。其中,索引序号用于索引同一请求的测试数据段,排序序号用于将同一请求的测试数据段进行排序,预设首尾字符用于指示对应测试数据段的开始和结尾,即用于限定对应测试数据段的范围。
48.其中,预设标准格式优选但不限于标准json格式。如果预设标准格式为标准json格式,那么将以文本形式获取的待测数据转换为标准json格式。
49.s102、对预设标准格式的待测数据进行解析以得到解析结果。
50.对标准json格式的待测数据进行解析以得到至少一个字典,每个字典对应一个请求;根据预设关键字从每个字典中提取对应请求的测试数据以得到解析结果。换言之,每组预设首尾字符之间的测试数据段对应一个字典,这样每个字典对应一个请求,其携带的测试数据段为一个请求的全部数据或一个请求的部分数据;根据预设关键字即可从每个字典
中提取出其所对应请求的测试数据,从而得到解析结果。可以理解的是,解析结果包括至少一个测试数据段,该至少一个测试数据段对应至少一个请求。
51.将从每个字典中提取出的对应请求的测试数据输出至pandas模块存储,该pandas模块以dataframe格式存储每个字典的测试数据。
52.对待测数据执行解析操作除了生成解析结果,还生成中间数据,该中间数据用于对解析结果中的各个请求按照交易时间轴排序。本实施例优选将解析结果和中间数据分开存储。
53.s103、根据预设合并规则确定该解析结果中属于同一请求的测试数据,并完成同一请求的测试数据的合并以更新每个请求的测试数据。
54.根据同一请求的索引序号相同的原则,将解析结果中对应同一请求的测试数据段划分为一组,然后将每个组别内的解析结果转换为文本格式,并对文本格式的解析结果进行预处理,以更新每个组别的解析结果,然后完成同一组别内的测试数据段的合并以更新每个请求的测试数据。
55.示例性的,根据同一请求的索引序号相同的原则,在更新后的解析结果中定位到10个测试数据段,然后比对各个测试数据段的索引序号,将相同索引序号的测试数据段划分至一个测试数据组,然后将各个测试数据组的测试数据段转换成文本格式,并根据预设头尾字符对每个组别内的测试数据段进行合并,以更新每个组别对应请求的测试数据,由于每个组别对应一个请求,因此该每个组别对应请求的测试数据即为所求取的每个请求对应的测试数据。
56.其中,预处理包括但不限于对文本格式的解析结果的第一目标内容进行替换处理,以及对文本格式的解析结果的第二目标内容的进行转义处理。需要说明的是,关于替换处理和转义处理采用现有技术即可,本实施例在此不作具体说明。
57.由于解析结果包含的特殊字符容易导致格式转换异常中断,因此本实施例在将解析结果转换为文本格式时,如果检测到err等级低于预设报警阈值,则继续执行格式转换,反之,如果检测到err等级高于或等于预设报警阈值,则说明当前待测数据无法满足当前的测试需求,因此中断当前的格式转换过程。通过err等级可以提高解析结果格式转换的普适性以及格式转换效率,避免因为在解析结果出现了不影响测试结果的问题时,会自动中断解析结果的格式转换。
58.s104、将更新后的所有请求的测试数据添加至预设测试脚本框架以生成测试脚本。
59.其中,预设测试脚本框架也可理解为测试脚本模板,是通过读取配置文件内的配置信息自动构建而成的。优选地,该预设测试脚本框架支持动态传参,具有较高的普适性。可以理解的是,每个预设测试脚本框架对应一个测试计划。
60.得到更新后的每个请求的测试数据之后,将所有请求的测试数据添加至预设测试脚本框架的对应位置,从而生成测试脚本。
61.在一个实施例中,预设测试脚本框架包括一个或多个线程组,待测数据对应一个或多个业务内容,每个业务内容对应一个或多个请求。根据每个业务内容的交易序号确定该业务内容对应的一个或多个请求,根据每个请求的索引序号确定每个请求的测试数据,从而确定每个业务内容对应的测试数据;建立业务内容与线程组的对应关系,然后将更新
后的同一业务内容的所有请求的测试数据添加至预设测试脚本框架的同一线程组,以生成测试脚本。可以理解的是,该测试脚本可以对一个测试计划内的多个业务内容同时进行测试,从而大大提高wcf框架下的测试数据的测试效率。
62.在一个实施例中,以索引轮询的方式,读取已存储数据中每个业务内容的各个请求的动作、报文主体,替换业务脚本的各个请求的动作和报文主体,以得到每个业务内容的业务脚本。然后将每个业务内容的业务脚本添加至预设测试脚本框架的对应线程组以得到测试脚本。其中,每个线程组优选以其所对应的业务内容命名或者以对应的源数据文件名称来命名。
63.测试脚本构建完成后,将测试脚本输出为性能测试工具支持的文件格式,保存至特定路径下即可。测试脚本格式支持但不限于xml格式,保存路径可为固定值也可支持动态传参。其中,测试脚本内容为xml格式,后缀为jmx格式,是工具jmeter所支持的标准压测脚本文件。
64.本发明实施例提供的测试脚本构建方法的技术方案,获取预设标准格式的待测数据,待测数据对应至少一个请求;对预设标准格式的待测数据进行解析以得到解析结果,解决了原始格式的测试数据的解析结果准确性较低的问题;根据预设合并规则确定该解析结果中属于同一请求的测试数据,并完成同一请求的测试数据的合并以更新每个请求的测试数据;将更新后的所有请求的测试数据添加至预设测试脚本框架以生成测试脚本,通过预设测试脚本框架快速地生成所有请求的测试数据对应的测试脚本,从而达到了通过自动构建的测试脚本对wcf框架下复杂测试数据进行快速有效测试的技术效果。
65.实施例二
66.图2是本发明实施例提供的测试脚本构建装置的结构框图。该装置用于执行上述任意实施例所提供的测试脚本构建方法,该装置可选为软件或硬件实现。该装置包括:
67.获取模块11,用于获取预设标准格式的待测数据,所述待测数据对应至少一个请求;
68.解析模块12,用于对所述预设标准格式的待测数据进行解析以得到解析结果;
69.合并模块13,用于根据预设合并规则确定该解析结果中属于同一请求的测试数据,并完成同一请求的测试数据的合并以更新每个请求的测试数据;
70.脚本生成模块14,用于将更新后的所有请求的测试数据添加至预设测试脚本框架以生成测试脚本。
71.可选地,解析模块12用于对标准json格式的测试数据进行解析以得到至少一个字典,每个字典对应一个请求;根据预设关键字从每个字典中提取对应请求的测试数据以得到解析结果。
72.可选地,该装置还包括存储模块,该存储模块用于将从每个字典提取的测试数据输出至pandas模块存储,所述pandas模块以dataframe格式存储每个字典的测试数据。
73.可选地,合并模块13用于根据同一请求的索引序号相同的原则,将解析结果中对应同一请求的测试数据段划分为一组;将每个组别内的解析结果转换为文本格式,并对文本格式的解析结果进行预处理,以更新每个组别的解析结果;完成所有同一组别内的测试数据段的合并以更新每个组别的测试数据,从而得到每个请求的测试数据。
74.可选地,合并模块13在如果检测到err等级低于预设报警阈值,则继续执行格式转
换;反之,如果检测到err等级高于或等于预设报警阈值,则中断当前的格式转换过程。
75.可选地,脚本生成模块14用于将更新后属于同一业务内容的所有请求的测试数据添加至预设测试脚本框架的同一线程组,以生成测试脚本。
76.本发明实施例提供的测试脚本构建装置的技术方案,通过获取模块获取预设标准格式的待测数据,待测数据对应至少一个请求;通过解析模块对预设标准格式的待测数据进行解析以得到解析结果,解决了原始格式的测试数据的解析结果准确性较低的问题;通过合并模块根据预设合并规则确定该解析结果中属于同一请求的测试数据,并完成同一请求的测试数据的合并以更新每个请求的测试数据;通过脚本生成模块将更新后的所有请求的测试数据添加至预设测试脚本框架以生成测试脚本,实现了通过预设测试脚本框架快速地生成所有请求的测试数据对应的测试脚本的目的,达到了通过自动构建的测试脚本对wcf框架下复杂测试数据进行快速有效测试的技术效果。
77.本发明实施例所提供的测试脚本构建装置可执行本发明任意实施例所提供的测试脚本构建方法,具备执行方法相应的功能模块和有益效果。
78.实施例三
79.图3为本发明实施例提供的计算机设备的结构示意图,如图3所示,该设备包括处理器201、存储器202、输入装置203以及输出装置204;设备中处理器201的数量可以是一个或多个,图3中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203以及输出装置204可以通过总线或其他方式连接,图3中以通过总线连接为例。
80.存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的测试脚本构建方法对应的程序指令/模块(例如,获取模块11、解析模块12、合并模块13以及脚本生成模块14)。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的测试脚本构建方法。
81.存储器202可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器202可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
82.输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。
83.输出装置204可包括显示屏等显示设备,例如,用户终端的显示屏。
84.实施例四
85.本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种测试脚本构建方法,该方法包括:
86.获取预设标准格式的待测数据,所述待测数据对应至少一个请求;
87.对所述预设标准格式的待测数据进行解析以得到解析结果;
88.根据预设合并规则确定该解析结果中属于同一请求的测试数据,并完成同一请求的测试数据的合并以更新每个请求的测试数据;
89.将更新后的所有请求的测试数据添加至预设测试脚本框架以生成测试脚本。
90.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的测试脚本构建方法中的相关操作。
91.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的测试脚本构建方法。
92.值得注意的是,上述测试脚本构建装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
93.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

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

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

相关文献