CN114185808A - 自动化测试方法、装置、电子设备及计算机可读存储介质 - Google Patents
自动化测试方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114185808A CN114185808A CN202111619273.0A CN202111619273A CN114185808A CN 114185808 A CN114185808 A CN 114185808A CN 202111619273 A CN202111619273 A CN 202111619273A CN 114185808 A CN114185808 A CN 114185808A
- Authority
- CN
- China
- Prior art keywords
- test case
- sign value
- interface
- preset
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种自动化测试方法、装置、电子设备及计算机可读存储介质,属于软件接口测试技术领域。包括:获取目标接口对应的预设的测试用例集合;针对每一条测试用例,基于预设的sign值计算算法和该测试用例中的参数信息,确定该测试用例对应的sign值;生成对应的接口请求,所述接口请求包含目标接口的地址、该测试用例、该测试用例对应的sign值,将接口请求发给地址对应的目标接口,以使目标接口对sign值进行校验,并在校验通过后,对测试用例进行预处理,并返回预处理结果;将预处理结果与预测结果进行对照,并记录对照结果。该方法能够高效、准确地进行带sign校验的接口自动化测试,从而保证测试的正确性和实时性。
Description
技术领域
本申请涉及软件接口测试技术领域,具体而言,涉及一种自动化测试方法、装置、电子设备及计算机可读存储介质。
背景技术
随着自动化测试技术的不断发展,不带sign(加密签名)校验的接口自动化测试技术,已将测试人员从繁琐的入参、出参及接口返回数据的校对中解脱出来。但带sign校验的接口自动化测试技术却因sign计算方式的不同,迟迟未使用接口自动化测试技术。
目前带sign校验的接口在测试时需要动态生成sign值,以便满足校验规则。常规的测试方法,一种是协同研发同事修改代码,跳过sign校验,以便验证接口功能,但此方法未验证sign计算的正确性、实时性、时效性,存在测试风险;另一种是在测试过程中,由研发同事配合生成sign值,供测试使用,但此方法需要耗费较多的人力、物力、财力,且无法结合接口自动化测试脚本进行测试,效率极低。
发明内容
本申请实施例的目的在于提供一种自动化测试方法及装置,用以解决如何高效、准确地进行带sign校验的接口自动化测试的问题,从而保证带sign校验测试的正确性和实时性。
第一方面,本发明实施例提供了一种自动化测试方法,包括:获取目标接口对应的预设的测试用例集合;针对所述预设的测试用例集合中的每一条测试用例,基于预设的sign值计算算法和该测试用例中的参数信息,确定该测试用例对应的sign值;生成该测试用例对应的接口请求,所述接口请求包含目标接口的地址、该测试用例、该测试用例对应的sign值,将所述接口请求发给所述地址对应的所述目标接口,以使所述目标接口对所述sign值进行校验,并在校验通过后,对该测试用例进行预处理,并返回预处理结果;将所述预处理结果与该测试用例的预测结果进行对照,并记录对照结果。本申请实施例中,通过预设的sign值计算算法和该测试用例中的参数信息,便可自动生成测试用例对应的sign值,并以此生成接口请求,进而能够模仿真实环境下的用户对接口发起请求的过程,无需人为生成测试用例的sign值,从而节约了人力成本,且提高了测试用例的效率,这样能够使得一些重要的、使用sign值校验的接口进行仿真测试,从而提升接口测试的有效性。
结合第一方面实施例的一种可能的实施方式,所述参数信息包括:由参数名及对应的参数值拼接形成的多个键值对数据;基于预设的sign值计算算法和该测试用例中的参数信息,确定与该测试用例对应的sign值,包括:基于所述预设的sign值计算算法和所述键值对数据,得到与所述测试用例对应的sign值。本申请实施例中,若测试用例的参数信息包括由参数名及对应的参数值拼接形成的多个键值对数据时,可以直接基于预设的sign值计算算法对多个键值对数据进行计算生成sign值,可以提高生成sign值的效率。
结合第一方面实施例的一种可能的实施方式,所述参数信息包括:多个参数名及其对应的参数值;基于预设的sign值计算算法和该测试用例中的参数信息,确定与该测试用例对应的sign值,包括:针对将该测试用例中的每个参数名,将该参数名及该参数名对应的参数值拼接形成键值对数据;基于所述预设的sign值计算算法和多个所述键值对数据,得到与该测试用例对应的sign值。本申请实施例中,测试用例的参数信息为多个参数名及其对应的参数值时,先将参数名及其对应的参数值拼接成一个键值对,从而使得测试用例的参数信息转换为键值对的类型,键值对的类型更便于sign值计算算法的计算,再基于预设的sign值计算算法对键值对类型的参数进行计算生成sign值,该方案可以提高实用性或灵活性。
结合第一方面实施例的一种可能的实施方式,所述sign值计算算法包括预设加密算法;基于所述预设的sign值计算算法和多个所述键值对数据,得到与该测试用例对应的sign值,包括:将多个所述键值对数据按照键进行排序;将多个所述键值对数据按照排序顺序依次拼接转换为一个字符串;基于预设加密算法,对所述字符串进行加密处理,其中,加密处理后的结果为该测试用例对应的sign值。本申请实施例中,在具体计算sign值时,先对测试用例对应的多个键值对数据按照键(也即参数名)进行排序,使得排序后的所有测试用例中相同键(参数名)所在的位置是相同的,以防止键的位置不统一,导致计算结果不唯一,之后再将排序后的键值对数据按序拼接形成一个字符串,将这个字符串通过预设的加密算法进行加密处理(编码),加密处理(编码)后的结果即为sign值,这样可以快速得到sign值。
结合第一方面实施例的一种可能的实施方式,生成所述测试用例对应的接口请求,包括:将该测试用例中的请求头、请求方法、参数信息,所述目标接口的地址,所述sign值,拼接生成接口请求,将所述接口请求发给所述地址对应的所述目标接口,所述接口请求用于使所述目标接口对所述sign值进行校验,并在校验通过后,根据所述请求方法,对所述测试用例的所述参数信息进行预处理,并返回预处理结果。本申请实施例中,参数信息是多个参数名及其对应的参数值,或是多个键值对数据,这样的测试用例能进一步提高测试的效率。
结合第一方面实施例的一种可能的实施方式,所述预处理结果包括:实际状态码、实际响应体;所述预测结果包括:预期状态码、预期响应体;将所述预处理结果与所述测试用例的预测结果进行对照,包括:将所述实际状态码与所述预期状态码进行对照,得到状态码对照结果;将所述实际响应体与所述预期响应体进行对照,得到响应体对照结果。本申请实施例中,获取到接口返回的预处理结果后,将预处理结果与测试用例的预测结果对应进行对照,如果对照结构相同则为测试通过,否则为测试失败,这样的对照结果能够更好的体现接口测试的情况。
第二方面,本发明实施例提供了一种接口自动化测试装置,应用于接口调试设备,所述装置包括:获取模块、sign值计算模块、接口请求模块、验证模块;获取模块,用于获取目标接口对应的预设的测试用例集合;sign值计算模块,用于针对所述预设的测试用例集合中的每一条测试用例,基于预设的sign值计算算法和该测试用例中的参数信息,确定该测试用例对应的sign值;接口请求模块,用于生成该测试用例对应的接口请求,所述接口请求包含目标接口的地址、该测试用例、该测试用例对应的sign值,将所述接口请求发给所述地址对应的所述目标接口,以使所述目标接口对所述sign值进行校验,并在校验通过后,对该测试用例进行预处理,并返回预处理结果;验证模块,用于将所述预处理结果与所述测试用例的预测结果进行对照,并记录对照结果。
结合第二方面实施例的一种可能的实施方式,所述参数信息包括:由参数名及对应的参数值拼接形成的多个键值对数据;所述sign值计算模块用于:基于所述预设的sign值计算算法和所述键值对数据,得到与所述测试用例对应的sign值。
第三方面,本发明实施例提供了一种电子设备,所述电子设备包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本发明实施例提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种自动化测试方法的流程示意图;
图2为本申请实施例提供的一种测试用例所包含信息的部分示例图;
图3为本申请实施例提供的又一种测试用例所包含信息的部分示例图;
图4为图1中S200的原理示例图;
图5为本申请实施例提供的一种自动化测试装置的结构框图;
图6为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供了一种自动化测试方法,使得能够仿真进行带sign校验的接口测试,保证接口测试的正确性和实时性,从而高效、准确地进行带sign校验的接口自动化测试。
为了便于理解,下面结合图1对本申请实施例提供的一种自动化测试方法进行说明。
S100:获取目标接口对应的预设的测试用例集合。
在需要进行接口自动化测试时,获取目标接口(也即待测试接口)的预设的测试用例集合。为了提升测试的速度,可以事先准备好大量测试用例,不同的待测试接口对应的测试用例集合可以不同,同一个测试用例集合中的不同测试用例对应的参数信息可以不同。
其中,预设的测试用例集合可以是保存在excel(电子表格)、txt(文本格式)或者是任意一种便于读取的文件格式记录的文件中,可选地,本申请实施例中使用预先准备好的excel格式的测试用例集合进行测试,在测试时每次将读取的一个测试用例取出,再进行相应的测试操作。
其中,同一个测试用例集合中的每一个测试用例对应的参数信息包含的参数种类相同,不同在于具体的参数值不同。
例如,一种实施方式下,该测试用例集合中的每一条测试用例中的参数信息可以包括由参数名及对应的参数值拼接形成的多个键值对数据;或者,该测试用例集合中的每一条测试用例中的参数信息可以包括多个参数名及其对应的参数值,也即,参数信息可以是由参数名及对应的参数值拼接形成的多个键值对数据,或者包括多个参数名及其对应的参数值。
此外,测试用例还可以包括:测试模块、请求头、请求方法、预期状态码、预期响应体,其示意图如图2所示。
其中,测试用例中的测试模块用于描述待测接口具体的待测功能点;请求头与请求方法用于形成接口请求,请求方法还用于使接口根据请求方法对接口请求的参数信息进行预处理;预期状态码和预期响应体是预测的测试用例通过接口预处理后的状态码和响应体,可以用来与预处理结果进行比较。测试模块、请求头、请求方法、预期状态码、预期响应体均为预先设置好的值,请求头和预期响应体可以设置为空。
此外,测试用例还可以在图2的基础上,进一步还包括实际状态码、实际响应体、状态码一致性、响应体一致性、执行时间、备注,如图3所示。图3中的空格部分为待填值。
上述的实际状态码、实际响应体、状态码一致性、响应体一致性、执行时间、备注均为待填项,可根据接口返回的预处理结果,以及预处理结果与预处理结果对照后的对照结果进行填写。实际状态码是测试用例通过接口预处理后的由接口生成的状态码;实际响应体是测试用例通过接口预处理后由接口生成的响应体,实际响应体包括错误码、错误信息、错误数据等,实际响应体用于反馈该次预处理的情况;状态码一致性是实际状态码与预期状态码比较后的状态码对照结果;响应体一致性是实际响应体与预期响应体比较后的响应体对照结果;执行时间是该条测试用例用来测试的时间;备注是可根据该测试用例的测试结果进行备注说明。
S200:针对所述预设的测试用例集合中的每一条测试用例,基于预设的sign值计算算法和该测试用例中的参数信息,确定该测试用例对应的sign值。
在获取到目标接口对应的预设的测试用例集合,可以针对预设的测试用例集合中的每一条测试用例,基于预设的sign值计算算法和该测试用例中的参数信息,确定该测试用例对应的sign值。
第一种实施方式下,参数信息包括:由参数名及对应的参数值拼接形成的多个键值对数据,此时,基于预设的sign值计算算法和该测试用例中的参数信息,确定与该测试用例对应的sign值的过程可以是:基于预设的sign值计算算法和多个键值对数据,得到与测试用例对应的sign值。
第二种实施方式下,参数信息包括:多个参数名及其对应的参数值,此时,基于预设的sign值计算算法和该测试用例中的参数信息,确定与该测试用例对应的sign值的过程可以是:针对该测试用例中的每个参数名,将该参数名及该参数名对应的参数值拼接,该参数名对应的键值对数据,基于预设的sign值计算算法和多个键值对数据,得到与该测试用例对应的sign值。
其中,sign值计算算法可以是加密算法,也可以是哈希算法等,不同的算法,所计算得到的测试用例对应的sign值不同。
例如,若sign值计算算法包括预设加密算法,如MD5(Message-Digest Algorithm,信息摘要算法)算法或base64算法;基于预设的sign值计算算法和多个键值对数据,得到与该测试用例对应的sign值的过程可以是:将多个键值对数据按照键进行排序;将多个键值对数据按照排序顺序依次拼接转换为一个字符串;基于预设加密算法,对字符串进行加密处理,其中,加密处理后的结果为该测试用例对应的sign值,其示意图如图4所示。
其中,将该测试用例中的多个键值对数据按照键进行排序,是为了使经过排序后的所有测试用例中的相同键所在的位置相同,例如一个测试用例的参数信息为{“A”:“1”,“B”:“1”,“C”:“1”},而另一个测试用例的参数信息为{“A”:“1”,“C”:“2”,“B”:“1”},对这两个测试用例进行排序处理,参数信息变为{“A”:“1”,“B”:“1”,“C”:“1”}和{“A”:“1”,“B”:“1”,“C”:“2”},使其拼接形成的字符串分别为例如A1B1C1和A1B1C2这样的字符串,这样使得后续加密算法能够按照预先的逻辑计算sign值。
将这些键值对数据按序依次拼接形成一个字符串时,可以通过连接符将每个键值对数据中的键与值进行连接,还可以通过分隔符将所有键值对数据进行连接,例如一个测试用例的参数信息为{“A”:“1”,“B”:“1”,“C”:“1”},可以形成一个字符串“A=1&B=1&C=1”,其中“=”为连接符,用于连接每个键值对数据中的键与值,“&”为分隔符,用于连接测试用例中的所有键值对数据。
最后利用预设的加密算法对这个字符串进行加密,加密后的结果即为该测试用例对应的sign值。预设的加密算法并不唯一,可以是任何一种基于某种逻辑进行加密的算法,加密算法(或加密规则)由开发者自行配置,但是这里的加密算法需要与接口处的sign值校验的加密算法一致。
值得说明的是加密算法中除了包括参数信息,还可以包括当前时间的、某一密令(例如数字串、字符串、随机生成的字符串、按既定算法生成的字符串)等。本申请实施例中的加密算法与接口处的sign值校验的加密算法一致,使得测试用例在进行带sign值校验时能够正确获得接口返回的结果。
需要说明的是,若sign值计算算法为哈希算法,则在得到字符串后,可以利用哈希算法对该字符串进行哈希计算,计算的结果即为sign值。
S300:生成该测试用例对应的接口请求,将所述接口请求发给所述地址对应的所述目标接口,所述接口请求包含目标接口的地址、该测试用例、该测试用例对应的sign值。
在得到该测试用例对应的sign值后,便可生成该测试用例对应的接口请求,其中,该接口请求包含目标接口的地址、该测试用例、该测试用例对应的sign值。之后将接口请求发给地址对应的目标接口,以使目标接口对sign值进行校验,并在校验通过后,对该测试用例进行预处理,并返回预处理结果。
一种可选实施方式下,生成该测试用例对应的接口请求的过程可以是:将该测试用例中的请求头、请求方法、参数信息,目标接口的地址,sign值,进行拼接,生成该接口请求,该接口请求用于使目标接口对sign值进行校验,并在校验通过后,根据请求方法,对接口请求的参数信息进行预处理,并返回预处理结果。
一种实施方式下,获取到一条测试用例,根据该测试用例中的参数信息通过如S200步骤所述的方法计算出sign值,再将该测试用例中的请求头、请求方法、参数名、参数值、该接口的地址、计算得到的sign值,按照http(HyperText Transfer TansferProtocol,超文本传输协议)协议报文规格拼接形成的接口请求。
接口请求发给地址对应的目标接口,该接口请求用于使目标接口先对sign值进行校验,该校验过程为对接口请求中的参数信息按照预设的sign值计算算法计算出sign值,后将接口计算出的sign值与接口请求中的sign值进行比对,若比对一致则校验通过,在校验通过后,接口会根据请求方法,对该接口请求中的参数信息进行预处理,并返回预处理结果。
接口的预处理,例如:测试用例是用于获取一张图片,则接口会根据该测试用例的参数信息返回一张图片。
值得说明的是,所述接口请求并不局限于http协议报文的格式,也可以是其他形式的接口请求,此处不做限制。
S400:将所述预处理结果与该测试用例的预测结果进行对照,并记录对照结果。
在获取到预处理结果后,对获取到的预处理结果进行记录,其中,接口返回的预处理结果可以包括一个实际状态码和一个实际响应体,将得到的实际状态码、实际响应体、该测试的执行时间分别记录在测试用例集合文件中的对应待填位置。
一种实施方式下,预期结果包括:预期状态码、预期响应体,将预处理结果与该测试用例的预测结果进行对照,并记录对照结果的过程可以是:将该测试用例的实际状态码和预期状态码进行对照,得到状态码对照结果;将该测试用例的实际响应体和预期响应体对照,得到响应体对照结果。
其中,预期状态码和实际状态码一致时,该测试用例的状态码对照结果(状态码一致性)记录为PASS,否则记为FAIL;预期响应体和实际响应体一致时,该测试用例响应体对照结果(响应体一致性)记录为PASS,若预期响应体为空,则响应体对照结果也为空,否则记录FAIL。
例如,一条测试用例的预期状态码为200(表示请求已被接口成功接收、理解、接受),预期响应体为空,而该测试用例返回的实际状态码为200,实际响应体为接口对该测试用例预处理后返回的响应体,则状态码对照结果(状态码一致性)为PASS,响应体对照结果(响应体一致性)为空,执行时间为该条测试用例被接口预处理时的时间。
上述一致性的比对可以基于excel的功能,将记录在表格内的两列数据进行比对并记录比对结果。值得说明的是,进行比对的方式并不局限于本实施方式下的利用excel进行比对,也可是利用其他计算机程序进行比对。
进行记录与比对的顺序并不是固定的,另一种实施方式下,可以是先将实际状态码、实际响应体分别与预期状态码和预期响应体比对后再将一致性结果一起进行记录。
基于同一发明构思,本申请实施例中还提供一种接口自动化测试装置100,如图5所示,该自动化测试装置100包括:获取模块110、sign值计算模块120、接口请求模块130、验证模块140。
获取模块110,用于获取目标接口的预设的测试用例集合。
sign值计算模块120,针对所述预设的测试用例集合中的每一条测试用例,基于预设的sign值计算算法和该测试用例中的参数信息,确定该测试用例对应的sign值。
接口请求模块130,用于生成该测试用例对应的接口请求,所述接口请求包含目标接口的地址、该测试用例、该测试用例对应的sign值,将所述接口请求发给所述地址对应的所述目标接口,以使所述目标接口对所述sign值进行校验,并在校验通过后,对该测试用例进行预处理,并返回预处理结果。
验证模块140,用于将预处理结果与测试用例的预测结果进行对照,并记录对照结果。
可选地,参数信息包括由参数名及对应的参数值拼接形成的多个键值对数据,sign值计算模块120用于,基于所述预设的sign值计算算法和所述键值对数据,得到与该测试用例对应的sign值。
可选地,所述参数信息包括:多个参数名及其对应的参数值;sign值计算模块120用于,针对该测试用例中的每个参数名,将该参数名及该参数名对应的参数值拼接,该参数名对应的键值对数据;基于所述预设的sign值计算算法和多个所述键值对数据,得到与该测试用例对应的sign值。
可选地,所述sign值计算算法包括预设加密算法,sign值计算模块120用于,将多个所述键值对数据按照键进行排序;将多个所述键值对数据按照排序顺序依次拼接转换为一个字符串;基于预设加密算法,对所述字符串进行加密处理,其中,加密处理后的结果为该测试用例对应的sign值。
接口请求模块130,用于将该测试用例中的请求头、请求方法、参数信息,所述目标接口的地址,所述sign值,拼接生成所述接口请求,所述接口请求用于使所述目标接口对所述sign值进行校验,并在校验通过后,根据所述请求方法,对所述接口请求的所述参数信息进行预处理,并返回所述预处理结果。
可选地,所述预处理结果包括:实际状态码、实际响应体;所述预期结果包括:预期状态码、预期响应体;验证模块140用于,将所述实际状态码与所述预期状态码进行对照,得到状态码对照结果;将所述实际响应体与所述预期响应体进行对照,得到响应体对照结果。
本申请实施例提供的自动化测试装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图6所示,图6示出了本申请实施例提供的一种电子设备200的结构框图。所述电子设备200包括:存储器220、通讯总线230以及处理器210。
所述、所述存储器220、处理器210各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。存储器220用于存储计算机程序,如存储有图5中所示的软件功能模块,即自动化测试装置100。其中,自动化测试装置100包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(Operating System,OS)中的软件功能模块。所述处理器210,用于执行存储器220中存储的可执行模块,例如自动化测试装置100包括的软件功能模块或计算机程序。例如,处理器210,用于获取目标接口对应的预设的测试用例集合;针对所述预设的测试用例集合中的每一条测试用例,基于预设的sign值计算算法和该测试用例中的参数信息,确定该测试用例对应的sign值;生成该测试用例对应的接口请求,所述接口请求包含目标接口的地址、该测试用例、该测试用例对应的sign值;将所述接口请求发给所述地址对应的所述目标接口,以使所述目标接口对所述sign值进行校验,并在校验通过后,对该测试用例进行预处理,并返回预处理结果;将所述预处理结果与该测试用例的预测结果进行对照,并记录对照结果。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器210可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者处理器210也可以是任何常规的处理器等。
其中,上述的电子设备200,包括但不限于服务器、计算机等。
本申请实施例还提供了一种非易失性的计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的自动化测试方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种自动化测试方法,其特征在于,所述方法包括:
获取目标接口对应的预设的测试用例集合;
针对所述预设的测试用例集合中的每一条测试用例,基于预设的sign值计算算法和该测试用例中的参数信息,确定该测试用例对应的sign值;
生成该测试用例对应的接口请求,所述接口请求包含目标接口的地址、该测试用例、该测试用例对应的sign值;
将所述接口请求发给所述地址对应的所述目标接口,以使所述目标接口对所述sign值进行校验,并在校验通过后,对该测试用例进行预处理,并返回预处理结果;
将所述预处理结果与该测试用例的预测结果进行对照,并记录对照结果。
2.根据权利要求1所述的方法,其特征在于,所述参数信息包括:由参数名及对应的参数值拼接形成的多个键值对数据;基于预设的sign值计算算法和该测试用例中的参数信息,确定与该测试用例对应的sign值,包括:
基于所述预设的sign值计算算法和多个所述键值对数据,得到与所述测试用例对应的sign值。
3.根据权利要求1所述的方法,其特征在于,所述参数信息包括:多个参数名及其对应的参数值;基于预设的sign值计算算法和该测试用例中的参数信息,确定与该测试用例对应的sign值,包括:
针对该测试用例中的每个参数名,将该参数名及该参数名对应的参数值拼接,该参数名对应的键值对数据;
基于所述预设的sign值计算算法和多个所述键值对数据,得到与该测试用例对应的sign值。
4.根据权利要求2或3所述的方法,其特征在于,所述sign值计算算法包括预设加密算法;基于所述预设的sign值计算算法和多个所述键值对数据,得到与该测试用例对应的sign值,包括:
将多个所述键值对数据按照键进行排序;
将多个所述键值对数据按照排序顺序依次拼接转换为一个字符串;
基于预设加密算法,对所述字符串进行加密处理,其中,加密处理后的结果为该测试用例对应的sign值。
5.根据权利要求1所述的方法,其特征在于,生成该测试用例对应的接口请求,包括:
将该测试用例中的请求头、请求方法、参数信息,所述目标接口的地址,所述sign值,拼接生成所述接口请求,所述接口请求用于使所述目标接口对所述sign值进行校验,并在校验通过后,根据所述请求方法,对所述接口请求的所述参数信息进行预处理,并返回所述预处理结果。
6.根据权利要求1所述的方法,其特征在于,所述预处理结果包括:实际状态码、实际响应体;所述预测结果包括:预期状态码、预期响应体;将所述预处理结果与所述测试用例的预测结果进行对照,包括:
将所述实际状态码与所述预期状态码进行对照,得到状态码对照结果;
将所述实际响应体与所述预期响应体进行对照,得到响应体对照结果。
7.一种接口自动化测试装置,其特征在于,应用于接口调试设备,所述装置包括:
获取模块,用于获取目标接口对应的预设的测试用例集合;
sign值计算模块,用于针对所述预设的测试用例集合中的每一条测试用例,基于预设的sign值计算算法和该测试用例中的参数信息,确定该测试用例对应的sign值;
接口请求模块,用于生成该测试用例对应的接口请求,所述接口请求包含目标接口的地址、该测试用例、该测试用例对应的sign值,将所述接口请求发给所述地址对应的所述目标接口,以使所述目标接口对所述sign值进行校验,并在校验通过后,对该测试用例进行预处理,并返回预处理结果;
验证模块,用于将所述预处理结果与所述测试用例的预测结果进行对照,并记录对照结果。
8.根据权利要求7所述的装置,其特征在于,所述参数信息包括:由参数名及对应的参数值拼接形成的多个键值对数据;所述sign值计算模块用于:
基于所述预设的sign值计算算法和所述键值对数据,得到与所述测试用例对应的sign值。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111619273.0A CN114185808A (zh) | 2021-12-27 | 2021-12-27 | 自动化测试方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111619273.0A CN114185808A (zh) | 2021-12-27 | 2021-12-27 | 自动化测试方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185808A true CN114185808A (zh) | 2022-03-15 |
Family
ID=80545060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111619273.0A Pending CN114185808A (zh) | 2021-12-27 | 2021-12-27 | 自动化测试方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185808A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813679A (zh) * | 2020-07-10 | 2020-10-23 | 北京思特奇信息技术股份有限公司 | 基于python执行测试用例的方法、装置、电子设备及存储介质 |
CN114978944A (zh) * | 2022-05-13 | 2022-08-30 | 北京百度网讯科技有限公司 | 压力测试方法、装置及计算机程序产品 |
CN115525578A (zh) * | 2022-11-23 | 2022-12-27 | 广州市千钧网络科技有限公司 | 表单生成方法、装置及电子设备和存储介质 |
-
2021
- 2021-12-27 CN CN202111619273.0A patent/CN114185808A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813679A (zh) * | 2020-07-10 | 2020-10-23 | 北京思特奇信息技术股份有限公司 | 基于python执行测试用例的方法、装置、电子设备及存储介质 |
CN114978944A (zh) * | 2022-05-13 | 2022-08-30 | 北京百度网讯科技有限公司 | 压力测试方法、装置及计算机程序产品 |
CN114978944B (zh) * | 2022-05-13 | 2024-06-04 | 北京百度网讯科技有限公司 | 压力测试方法、装置及计算机程序产品 |
CN115525578A (zh) * | 2022-11-23 | 2022-12-27 | 广州市千钧网络科技有限公司 | 表单生成方法、装置及电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415832B (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
US10769228B2 (en) | Systems and methods for web analytics testing and web development | |
CN114185808A (zh) | 自动化测试方法、装置、电子设备及计算机可读存储介质 | |
CN107122297B (zh) | 用于测试接口的请求消息生成的方法及设备 | |
CN111488166B (zh) | 双芯智能电表管理单元软件的升级方法、装置及存储介质 | |
CN111813701B (zh) | 基于http的接口测试方法、装置、计算机设备及存储介质 | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理系统 | |
CN111563016B (zh) | 日志采集分析方法、装置、计算机系统及可读存储介质 | |
CN108241576B (zh) | 一种接口测试方法及系统 | |
CN113438134B (zh) | 请求报文处理方法、装置、服务器及介质 | |
CN111949531B (zh) | 区块链网络的测试方法、装置、介质及电子设备 | |
CN113468049B (zh) | 基于可配置化接口的测试方法、装置、设备及介质 | |
CN111475376A (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN110851471A (zh) | 分布式日志数据处理方法、装置以及系统 | |
CN112380046B (zh) | 计算结果校验方法、系统、装置、设备及存储介质 | |
CN112631924A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN111290958A (zh) | 一种调试智能合约的方法及装置 | |
CN114546837A (zh) | 接口测试的方法、装置、设备及存储介质 | |
CN114816993A (zh) | 一种全链路接口测试方法、系统、介质及电子设备 | |
CN115599683A (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN114168108A (zh) | 代码合并方法、装置、电子设备和计算机可读存储介质 | |
CN113176995A (zh) | 基于测试场景的接口测试方法、装置、设备及介质 | |
CN114385722A (zh) | 接口属性的一致性校验方法、装置、电子设备和存储介质 | |
CN114911522A (zh) | 一种软件版本发布系统、方法、设备及可读存储介质 | |
CN118113586A (zh) | 测试方法、装置、设备及存储介质、程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |