CN110941563B - 自动化脚本测试方法及装置 - Google Patents
自动化脚本测试方法及装置 Download PDFInfo
- Publication number
- CN110941563B CN110941563B CN201911421455.XA CN201911421455A CN110941563B CN 110941563 B CN110941563 B CN 110941563B CN 201911421455 A CN201911421455 A CN 201911421455A CN 110941563 B CN110941563 B CN 110941563B
- Authority
- CN
- China
- Prior art keywords
- interface
- message
- test
- target system
- messages
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 269
- 238000013515 script Methods 0.000 title claims abstract description 163
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 8
- 230000000750 progressive effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000010998 test method Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本申请实施例提供一种自动化脚本测试方法及装置,方法包括:将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,各个接口上送报文分别与各个目标***的接口协议的报文格式类型一一对应;基于各个接口上送报文各自对应的接***易码,分别调用各个目标***的接口以使各个目标***分别进行自动化脚本测试;将各个目标***的测试输出报文分别与excel报文对应的案例预期结果进行比较,并根据比较结果得到各个目标***的自动化脚本测试结果。本申请能够有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,进而能够有效提高脚本测试的效率及自动化程度。
Description
技术领域
本申请涉及数据测试技术领域,具体涉及自动化脚本测试方法及装置。
背景技术
在迭代测试阶段,大部分***均没有挡板,且由于各***之间版本、环境、代码问题等因素,容易导致迭代测试未能按计划执行,虽然还有部分***有挡板,但仍需要测试人员具备一定编码能力,同时也使得测试的效率较低。
目前,可以通过RF、Jmeter等工具实现***的自动化脚本测试,然而这些测试方式均需依赖挡板,且要求测试人员必须具备一定的编码能力,学习成本高、测试效率低。
发明内容
针对现有技术中的问题,本申请提供一种自动化脚本测试方法及装置,能够有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,进而能够有效提高脚本测试的效率及自动化程度。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种自动化脚本测试方法,包括:
将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应;
基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;
将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
进一步地,在所述将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文之前,还包括:
应用预设的可视化界面接收excel报文;
其中,所述excel报文用于存储接***易码、协议、案例编号、公共报文头以及各个接口文档中的每一个上送字段。
进一步地,所述将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,包括:
应用预设的Python编程方式中的xlrd模块读取所述接口上送报文并对该接口上送报文进行逐行处理;
将经逐行处理的接口上送报文分别拼接为各个目标***各自对应的接口上送报文。
进一步地,所述基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试,包括:
基于各个所述接口上送报文各自对应的接***易码及不同协议,应用预设的不同的编程方式分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;
其中,所述编程方式包括:用于实现http和socket协议的Python编程方式,以及用于实现dubbo协议的Java编程方式。
进一步地,所述将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果,包括:
根据所述excel报文中的每一行报文各自对应的一个案例得到对应的案例预期结果,以及,通过配置的日志文件路径及接***易码获取各个所述目标***的日志文件并读取测试输出报文;
在各个所述目标***的测试输出报文中截取各自对应的目标关键字段内容;
将各个所述目标***各自对应的目标关键字段内容分别与所述案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
进一步地,还包括:
存储各个所述目标***的自动化脚本测试结果,和/或,将各个所述目标***的自动化脚本测试结果通过导入xlwt模块实现输出至excel案例的测试结果列。
第二方面,本申请提供一种自动化脚本测试装置,包括:
报文转换模块,用于将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应;
接口调用模块,用于基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;
验证模块,用于将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
进一步地,还包括:
excel报文生成模块,用于应用预设的可视化界面接收excel报文;
其中,所述excel报文用于存储接***易码、协议、案例编号、公共报文头以及各个接口文档中的每一个上送字段。
进一步地,所述报文转换模块包括:
报文读取单元,用于应用预设的Python编程方式中的xlrd模块读取所述接口上送报文并对该接口上送报文进行逐行处理;
报文拼接单元,用于将经逐行处理的接口上送报文分别拼接为各个目标***各自对应的接口上送报文。
进一步地,所述接口调用模块包括:
自动调用接口单元,用于基于各个所述接口上送报文各自对应的接***易码及不同协议,应用预设的不同的编程方式分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;
其中,所述编程方式包括:用于实现http和socket协议的Python编程方式,以及用于实现dubbo协议的Java编程方式。
进一步地,所述验证模块包括:
案例预期结果生成单元,用于根据所述excel报文中的每一行报文各自对应的一个案例得到对应的案例预期结果,以及,测试输出报文抓取单元,用于通过配置的日志文件路径及接***易码获取各个所述目标***的日志文件并读取测试输出报文;
关键字段截取单元,用于在各个所述目标***的测试输出报文中截取各自对应的目标关键字段内容;
比较单元,用于将各个所述目标***各自对应的目标关键字段内容分别与所述案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
进一步地,还包括:
测试结果存储模块,用于存储各个所述目标***的自动化脚本测试结果,和/或,测试结果输出模块,用于将各个所述目标***的自动化脚本测试结果通过导入xlwt模块实现输出至excel案例的测试结果列。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的自动化脚本测试方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的自动化脚本测试方法的步骤。
由上述技术方案可知,本申请提供的一种自动化脚本测试方法及装置,其中的自动化脚本测试方法通过将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应;基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果,能够有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,测试人员只需上送报文,然后点击工具,自动完成迭代测试,进而能够有效提高脚本测试的效率及自动化程度,并有效保证脚本测试过程的准确性及可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的自动化脚本测试方法的流程示意图。
图2为本申请实施例中的包含有步骤010的自动化脚本测试方法的流程示意图。
图3为本申请实施例中的自动化脚本测试方法中的步骤100的流程示意图。
图4为本申请实施例中的自动化脚本测试方法中的步骤300的流程示意图。
图5为本申请实施例中的包含有步骤400和步骤500的自动化脚本测试方法的流程示意图。
图6为本申请实施例中的自动化脚本测试装置的结构示意图。
图7为本申请实施例中的包含有excel报文生成模块的自动化脚本测试装置的结构示意图。
图8为本申请实施例中的自动化脚本测试装置中报文转换模块的结构示意图。
图9为本申请实施例中的自动化脚本测试装置中验证模块的结构示意图。
图10为本申请实施例中的包含有测试结果存储模块和测试结果输出模块的自动化脚本测试装置的结构示意图。
图11为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有的测试方式均需依赖挡板,且要求测试人员必须具备一定的编码能力的问题,可以考虑通过调用接口对测试案例进行测试,然而dubbo协议、socket协议等接口并不是某一种编程语言就可以调起的,且测试的前提是需要各***能联通或者是利用挡板,举例来说:调用接口时,上送某字段的值为1,在调用接口后,***进行逻辑处理,该字段的值变成2再输出给下游***;现实中有很多自动化测试的方法及工具,比如本申请中提到的RF和Jmeter,均可自动调起接口,但是并不支持多协议的接口,同时依赖挡板或者必须各***联通。这两点是目前自动化测试最大的痛点,而本申请恰好解决了这两个痛点。
针对上述问题,本申请提供一种自动化脚本测试方法、自动化脚本测试装置、电子设备及计算机可读存储介质,通过将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应;基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果,本申请强调应用于各***未联通且无挡板的场景,本申请就是抓取输出报文中的字段值与预期结果比较,验证本***功能逻辑的正确性。并且通过将上送报文直接存于excel中,有两点好处:第一灵活性更好,多套不同环境均可使用该excel文件,第二门槛更低,不要求测试人员具备数据库操作能力,也就是说,本申请能够有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,测试人员只需上送报文,然后点击工具,自动完成迭代测试,进而能够有效提高脚本测试的效率及自动化程度,并有效保证脚本测试过程的准确性及可靠性。
在本申请的一个或多个实施例中,协议是指:***间通信时双方必须遵从的约定。如怎么建立连接、怎么互相识别等。
在本申请的一个或多个实施例中,RF是指:全称Robot Framework,是一款python编写的功能自动化测试框架。
在本申请的一个或多个实施例中,Jmeter是指:由Apache组织开发的基于Java的压力测试工具。
在本申请的一个或多个实施例中,Python是指:一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言。Java也是一门面向对象编程语言。
为了有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,进而能够有效提高脚本测试的效率及自动化程度,本申请提供一种自动化脚本测试方法的实施例,参见图1,所述自动化脚本测试方法具体包含有如下内容:
步骤100:将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应。
可以理解的是,测试人员将案例、预期结果、上送报文编写在excel中;本申请将excel上送报文转换成各***的报文格式,通过Python、java编写的工具,自动调用***接口,然后自动比较输出报文与预期结果是否一致。
步骤200:基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试。
步骤300:将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
也就是说,本申请实施例提供的自动化脚本测试方法,仅需测试人员根据接口文档上送excel报文,即可完成产品的自动化迭代测试。
为了有效提高excel报文的应用可靠性,进一步提高自动化脚本测试的准确性和可靠性,在本申请的自动化脚本测试方法的一个实施例中,参见图2,所述自动化脚本测试方法中的步骤100之前还具体包含有如下内容:
步骤010:应用预设的可视化界面接收excel报文。
其中,所述excel报文用于存储接***易码、协议、案例编号、公共报文头以及各个接口文档中的每一个上送字段。
具体来说,excel第一列定义接***易码,第二列定义为协议,第三列定义案例编号,第四列定义为公共报文头,后续每一列定义各接口文档的每一个上送字段。
以及,Python实现可视化界面,提供测试人员输入excel报文及案例路径。
为了有效提高接口上送报文的应用可靠性,以进一步提高自动化脚本测试的准确性和可靠性,在本申请的自动化脚本测试方法的一个实施例中,参见图3,所述自动化脚本测试方法中的步骤100具体包含有如下内容:
步骤101:应用预设的Python编程方式中的xlrd模块读取所述接口上送报文并对该接口上送报文进行逐行处理。
可以理解的是,所述Python中的xlrd模块是用于读取excel表格数据的功能模块,支持xlsx和xls格式的excel表格。
步骤102:将经逐行处理的接口上送报文分别拼接为各个目标***各自对应的接口上送报文。
具体来说,Python导入xlrd库,读取excel报文后逐行处理,通过判断协议,分别将报文拼接成适合本接口协议的报文格式,比如socket格式报文、http格式报文。
为了有效提高自动化脚本测试的自动化程度,以进一步提高自动化脚本测试的效率,在本申请的自动化脚本测试方法的一个实施例中,所述自动化脚本测试方法中的步骤200具体包含有如下内容:
基于各个所述接口上送报文各自对应的接***易码及不同协议,应用预设的不同的编程方式分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;其中,所述编程方式包括:用于实现http和socket协议的Python编程方式,以及用于实现dubbo协议的Java编程方式。
也即,可以根据各***访问协议(http,https,socket,dubbo)的不同,分别实现对***接口的调用。
具体来说,可以先通过配置文件获取***服务信息,再连接接口所在***服务以及判断协议,不同协议采用不同编程语言实现接口调用,如:dubbo协议采用Java实现接口调用,socket协议采用Python实现接口调用,最后获取拼接后上送报文,根据接***易码调取***对应的接口。
为了有效提高自动化脚本测试结果的获取可靠性以及自动化程度,以进一步提高自动化脚本测试的效率及可靠性,在本申请的自动化脚本测试方法的一个实施例中,参见图4,所述自动化脚本测试方法中的步骤300具体包含有如下内容:
步骤301:根据所述excel报文中的每一行报文各自对应的一个案例得到对应的案例预期结果,以及,步骤302:通过配置的日志文件路径及接***易码获取各个所述目标***的日志文件并读取测试输出报文。
步骤303:在各个所述目标***的测试输出报文中截取各自对应的目标关键字段内容。
步骤304:将各个所述目标***各自对应的目标关键字段内容分别与所述案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
具体来说,excel报文中每一行报文对应一个案例,获取案例预期结果;抓取所调***的输出报文,截取输出报文中的关键字段内容与对应案例的预期结果作比较,判断测试结果,如果正确,则更新案例结果为YES,如果不正确,则更新案例结果为NO。
为了进一步提高自动化脚本测试的智能化程度及可靠性,在本申请的自动化脚本测试方法的一个实施例中,所述自动化脚本测试方法中的步骤300之后还可以具体执行有步骤400和步骤500中的至少一项,参见图5,以依次执行所述步骤400和步骤500为例,具体包含有如下内容:
步骤400:存储各个所述目标***的自动化脚本测试结果。
步骤500:将各个所述目标***的自动化脚本测试结果通过导入xlwt模块实现输出至excel案例的测试结果列。
为了进一步说明本方案,本申请还提供一种自动化脚本测试方法的具体应用实例,所述自动化脚本测试方法具体包含有如下内容:
S1:利用Python将excel报文转化成接口上送报文格式。
①:excel第一列定义接***易码,第二列定义为协议,第三列定义案例编号,第四列定义为公共报文头,后续每一列定义各接口文档的每一个上送字段。
②:Python实现可视化界面,提供测试人员输入excel报文及案例路径。
③:Python导入xlrd库,读取excel报文后逐行处理,通过判断协议,分别将报文拼接成适合本接口协议的报文格式,比如socket格式报文、http格式报文。
S2:用Python、JAVA编码,实现根据交易码调用各***对应接口。
①:通过配置文件获取***服务信息。
②:连接接口所在***服务。
③:判断协议,不同协议采用不同编程语言实现接口调用,如:dubbo协议采用Java实现接口调用,socket协议采用Python实现接口调用。
④:获取拼接后上送报文,根据接***易码调取***对应的接口。
S3:并抓取***的输出报文与预期结果自动比较,记录比较结果。
①:excel报文中每一行报文对应一个案例,获取案例预期结果。
②:抓取所调***的输出报文。
③:截取输出报文中的关键字段内容与对应案例的预期结果作比较。
④:判断测试结果,如果正确,则更新案例结果为YES,如果不正确,则更新案例结果为NO。
也就是说,本申请应用实例提供的自动化脚本测试方法,也即一种基于python、java实现后台产品自动化测试的方法,通过在程序启动时,读取报文文件并转化格式,上送转化后的报文,调用***接口,调用接口成功后,抓取接口输出报文,以及自动与案例中的预期结果比较,并在案例中记录比较结果;通过运用Python、JAVA调用各***不同的协议接口,能够有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,测试人员只需上送报文,然后点击工具,自动完成迭代测试,进而能够有效提高脚本测试的效率及自动化程度,并有效保证脚本测试过程的准确性及可靠性,其使用门槛低、效率高且应用广泛。
从软件层面来说,为了有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,进而能够有效提高脚本测试的效率及自动化程度,本申请提供一种用于实现所述自动化脚本测试方法的全部或部分内容的自动化脚本测试装置的实施例,参见图6,所述自动化脚本测试装置具体包含有如下内容:
报文转换模块10,用于将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应。
接口调用模块20,用于基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试。
验证模块30,用于将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
具体来说,所述报文转换模块主要用于将excel报文转换成***报文格式(如jsion格式);接口调用模块主要用于根据交易码、上送报文,调用***接口;验证模块主要用于抓取***输出报文,自动与预期结果比较,记录比较结果。
为了有效提高excel报文的应用可靠性,进一步提高自动化脚本测试的准确性和可靠性,在本申请的自动化脚本测试装置的一个实施例中,参见图7,所述自动化脚本测试装置中还具体包含有如下内容:
excel报文生成模块01,用于应用预设的可视化界面接收excel报文;
其中,所述excel报文用于存储接***易码、协议、案例编号、公共报文头以及各个接口文档中的每一个上送字段。
为了有效提高接口上送报文的应用可靠性,以进一步提高自动化脚本测试的准确性和可靠性,在本申请的自动化脚本测试装置的一个实施例中,参见图8,所述自动化脚本测试装置中的报文转换模块10具体包含有如下内容:
报文读取单元11,用于应用预设的Python编程方式中的xlrd模块读取所述接口上送报文并对该接口上送报文进行逐行处理。
报文拼接单元12,用于将经逐行处理的接口上送报文分别拼接为各个目标***各自对应的接口上送报文。
为了有效提高自动化脚本测试的自动化程度,以进一步提高自动化脚本测试的效率,在本申请的自动化脚本测试装置的一个实施例中,所述自动化脚本测试装置中的接口调用模块20具体包含有如下内容:
自动调用接口单元,用于基于各个所述接口上送报文各自对应的接***易码及不同协议,应用预设的不同的编程方式分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;其中,所述编程方式包括:用于实现http和socket协议的Python编程方式,以及用于实现dubbo协议的Java编程方式。
为了有效提高自动化脚本测试结果的获取可靠性以及自动化程度,以进一步提高自动化脚本测试的效率及可靠性,在本申请的自动化脚本测试装置的一个实施例中,参见图9,所述自动化脚本测试装置中的验证模块30具体包含有如下内容:
案例预期结果生成单元31,用于根据所述excel报文中的每一行报文各自对应的一个案例得到对应的案例预期结果,以及,测试输出报文抓取单元32,用于通过配置的日志文件路径及接***易码获取各个所述目标***的日志文件并读取测试输出报文。
关键字段截取单元33,用于在各个所述目标***的测试输出报文中截取各自对应的目标关键字段内容。
比较单元34,用于将各个所述目标***各自对应的目标关键字段内容分别与所述案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
为了进一步提高自动化脚本测试的智能化程度及可靠性,在本申请的自动化脚本测试方法的一个实施例中,所述自动化脚本测试装置中还可以具体包含有测试结果存储模块40和测试结果输出模块50中的至少一项,参见图10,以同时包含有测试结果存储模块40和测试结果输出模块50为例,具体包含有如下内容:
测试结果存储模块40,用于存储各个所述目标***的自动化脚本测试结果.
测试结果输出模块50,用于将各个所述目标***的自动化脚本测试结果通过导入xlwt模块实现输出至excel案例的测试结果列。
从硬件层面来说,为了有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,进而能够有效提高脚本测试的效率及自动化程度,本申请提供一种用于实现所述自动化脚本测试方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现电子设备与各个目标***、用户终端以及相关数据库等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例中的自动化脚本测试方法的实施例,以及,自动化脚本测试装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图11为本申请实施例的电子设备9600的***构成的示意框图。如图11所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图11是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,自动化脚本测试功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤100:将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应。
步骤200:基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试。
步骤300:将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
从上述描述可知,本申请实施例提供的电子设备,能够有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,测试人员只需上送报文,然后点击工具,自动完成迭代测试,进而能够有效提高脚本测试的效率及自动化程度,并有效保证脚本测试过程的准确性及可靠性。
在另一个实施方式中,自动化脚本测试装置可以与中央处理器9100分开配置,例如可以将自动化脚本测试装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现自动化脚本测试功能。
如图11所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图11中所示的所有部件;此外,电子设备9600还可以包括图11中没有示出的部件,可以参考现有技术。
如图11所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的自动化脚本测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的自动化脚本测试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应。
步骤200:基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试。
步骤300:将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够有效实现自动化的脚本测试,且测试过程无需挡板、无需***联通下游***,也不要求测试人员具备编码能力,测试人员只需上送报文,然后点击工具,自动完成迭代测试,进而能够有效提高脚本测试的效率及自动化程度,并有效保证脚本测试过程的准确性及可靠性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种自动化脚本测试方法,其特征在于,包括:
将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应,其中,各目标***未联通且无挡板;
基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;
将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果;
所述基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试,包括:
基于各个所述接口上送报文各自对应的接***易码及不同协议,应用预设的不同的编程方式分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;
其中,所述编程方式包括:用于实现http和socket协议的Python编程方式,以及用于实现dubbo协议的Java编程方式。
2.根据权利要求1所述的自动化脚本测试方法,其特征在于,在所述将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文之前,还包括:
应用预设的可视化界面接收excel报文;
其中,所述excel报文用于存储接***易码、协议、案例编号、公共报文头以及各个接口文档中的每一个上送字段。
3.根据权利要求1所述的自动化脚本测试方法,其特征在于,所述将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,包括:
应用预设的Python编程方式中的xlrd模块读取所述接口上送报文并对该接口上送报文进行逐行处理;
将经逐行处理的接口上送报文分别拼接为各个目标***各自对应的接口上送报文。
4.根据权利要求1所述的自动化脚本测试方法,其特征在于,所述将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果,包括:
根据所述excel报文中的每一行报文各自对应的一个案例得到对应的案例预期结果,以及,通过配置的日志文件路径及接***易码获取各个所述目标***的日志文件并读取测试输出报文;
在各个所述目标***的测试输出报文中截取各自对应的目标关键字段内容;
将各个所述目标***各自对应的目标关键字段内容分别与所述案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
5.根据权利要求1所述的自动化脚本测试方法,其特征在于,还包括:
存储各个所述目标***的自动化脚本测试结果,和/或,将各个所述目标***的自动化脚本测试结果通过导入xlwt模块实现输出至excel案例的测试结果列。
6.一种自动化脚本测试装置,其特征在于,包括:
报文转换模块,用于将用于对各个测试案例进行测试的excel报文分别转化为各个目标***对应的接口上送报文,其中,各个所述接口上送报文分别与各个所述目标***的接口协议的报文格式类型一一对应,其中,各目标***未联通且无挡板;
接口调用模块,用于基于各个所述接口上送报文各自对应的接***易码,分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;
验证模块,用于将各个所述目标***的测试输出报文分别与所述excel报文对应的案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果;
所述接口调用模块包括:
自动调用接口单元,用于基于各个所述接口上送报文各自对应的接***易码及不同协议,应用预设的不同的编程方式分别对应调用各个所述目标***的接口以使各个所述目标***分别进行自动化脚本测试;
其中,所述编程方式包括:用于实现http和socket协议的Python编程方式,以及用于实现dubbo协议的Java编程方式。
7.根据权利要求6所述的自动化脚本测试装置,其特征在于,还包括:
excel报文生成模块,用于应用预设的可视化界面接收excel报文;
其中,所述excel报文用于存储接***易码、协议、案例编号、公共报文头以及各个接口文档中的每一个上送字段。
8.根据权利要求6所述的自动化脚本测试装置,其特征在于,所述报文转换模块包括:
报文读取单元,用于应用预设的Python编程方式中的xlrd模块读取所述接口上送报文并对该接口上送报文进行逐行处理;
报文拼接单元,用于将经逐行处理的接口上送报文分别拼接为各个目标***各自对应的接口上送报文。
9.根据权利要求6所述的自动化脚本测试装置,其特征在于,所述验证模块包括:
案例预期结果生成单元,用于根据所述excel报文中的每一行报文各自对应的一个案例得到对应的案例预期结果,以及,测试输出报文抓取单元,用于通过配置的日志文件路径及接***易码获取各个所述目标***的日志文件并读取测试输出报文;
关键字段截取单元,用于在各个所述目标***的测试输出报文中截取各自对应的目标关键字段内容;
比较单元,用于将各个所述目标***各自对应的目标关键字段内容分别与所述案例预期结果进行比较,并根据比较结果得到各个所述目标***的自动化脚本测试结果。
10.根据权利要求6所述的自动化脚本测试装置,其特征在于,还包括:
测试结果存储模块,用于存储各个所述目标***的自动化脚本测试结果,和/或,测试结果输出模块,用于将各个所述目标***的自动化脚本测试结果通过导入xlwt模块实现输出至excel案例的测试结果列。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至5任一项所述的自动化脚本测试方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5任一项所述的自动化脚本测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421455.XA CN110941563B (zh) | 2019-12-31 | 2019-12-31 | 自动化脚本测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911421455.XA CN110941563B (zh) | 2019-12-31 | 2019-12-31 | 自动化脚本测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941563A CN110941563A (zh) | 2020-03-31 |
CN110941563B true CN110941563B (zh) | 2024-04-16 |
Family
ID=69913611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911421455.XA Active CN110941563B (zh) | 2019-12-31 | 2019-12-31 | 自动化脚本测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110941563B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111627171A (zh) * | 2020-04-28 | 2020-09-04 | 深圳壹账通智能科技有限公司 | Atmp***的测试报文转换方法、装置、设备及介质 |
CN112052170A (zh) * | 2020-09-03 | 2020-12-08 | 中国银行股份有限公司 | 一种自动化检测方法及装置、存储介质及电子设备 |
CN112099472A (zh) * | 2020-09-03 | 2020-12-18 | 通号城市轨道交通技术有限公司 | 自动化测试方法、装置、电子设备及存储介质 |
CN112328474B (zh) * | 2020-10-28 | 2024-07-19 | 太仓市同维电子有限公司 | 基于Web Socket远程给Robot Framework下发参数方法 |
CN112597053A (zh) * | 2020-12-30 | 2021-04-02 | 中国工商银行股份有限公司 | 设有安全控件的用户界面自动化测试方法及装置 |
CN113485942B (zh) * | 2021-07-28 | 2024-06-21 | 中国工商银行股份有限公司 | 一种基于独立模块的自动化测试方法及装置 |
CN113608841A (zh) * | 2021-08-23 | 2021-11-05 | 中国银行股份有限公司 | 跨平台自动化测试脚本生成方法及装置 |
CN114153725B (zh) * | 2021-11-25 | 2024-06-18 | 中国航空工业集团公司沈阳飞机设计研究所 | 一种面向复杂显控***的自动化测试验证方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105528294A (zh) * | 2015-12-29 | 2016-04-27 | 广东金赋信息科技有限公司 | 一种接口测试用例自动生成的方法及*** |
WO2016180237A1 (zh) * | 2015-07-27 | 2016-11-17 | 中兴通讯股份有限公司 | 一种北向接口测试装置和北向接口的测试方法 |
CN107656874A (zh) * | 2017-11-07 | 2018-02-02 | 中国银行股份有限公司 | 一种接口测试方法、装置、模拟挡板及*** |
CN110297774A (zh) * | 2019-07-02 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种基于python的接口自动化测试方法 |
-
2019
- 2019-12-31 CN CN201911421455.XA patent/CN110941563B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016180237A1 (zh) * | 2015-07-27 | 2016-11-17 | 中兴通讯股份有限公司 | 一种北向接口测试装置和北向接口的测试方法 |
CN105528294A (zh) * | 2015-12-29 | 2016-04-27 | 广东金赋信息科技有限公司 | 一种接口测试用例自动生成的方法及*** |
CN107656874A (zh) * | 2017-11-07 | 2018-02-02 | 中国银行股份有限公司 | 一种接口测试方法、装置、模拟挡板及*** |
CN110297774A (zh) * | 2019-07-02 | 2019-10-01 | 四川长虹电器股份有限公司 | 一种基于python的接口自动化测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110941563A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941563B (zh) | 自动化脚本测试方法及装置 | |
CN112463634B (zh) | 微服务架构下的软件测试方法及装置 | |
CN109582655B (zh) | ***日志的定位方法及装置、计算机可读存储介质 | |
CN112615753B (zh) | 一种链路异常追踪方法、第一节点、第二节点以及链路 | |
CN111367988A (zh) | 数据导入方法及装置 | |
CN111324480A (zh) | 大型主机交易故障定位***及方法 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN112905460B (zh) | 自动化接口测试模拟三方回执的装置及方法 | |
CN112860585B (zh) | 一种测试脚本断言生成方法及装置 | |
CN113438251A (zh) | 协议转换方法、装置及*** | |
CN110399305B (zh) | Btt模块的测试方法及装置 | |
CN113515447B (zh) | ***自动化测试方法及装置 | |
CN113438083B (zh) | 基于接口自动化测试的加验签方法及装置 | |
CN113791984B (zh) | 接口自动化测试方法及装置 | |
CN111859041B (zh) | 数据报送方法及装置 | |
CN113342447B (zh) | 基于Flutter的页面生成方法、装置、设备及存储介质 | |
CN112988598B (zh) | 接口自动化测试的方法及装置 | |
CN114416597A (zh) | 测试用例记录的生成方法和装置 | |
CN114070902B (zh) | 基于delphi的报文处理方法及装置 | |
CN112988603B (zh) | 大数据测试用例生成方法及装置 | |
CN113434423B (zh) | 接口测试方法及装置 | |
CN114125684B (zh) | 智能音箱测试方法、装置、电子设备和存储介质 | |
CN113760683B (zh) | 日志采集方法及装置 | |
CN113810228B (zh) | 消息队列通道重置方法及装置 | |
CN110022244B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |