CN112035373B - 基本测试脚本的测试方法、装置、服务器及介质 - Google Patents
基本测试脚本的测试方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN112035373B CN112035373B CN202010937552.0A CN202010937552A CN112035373B CN 112035373 B CN112035373 B CN 112035373B CN 202010937552 A CN202010937552 A CN 202010937552A CN 112035373 B CN112035373 B CN 112035373B
- Authority
- CN
- China
- Prior art keywords
- information
- preset
- field
- interface
- mapping table
- 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
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于测试脚本的测试方法、装置、服务器及介质,涉及测试技术领域。该方法包括:通过解析器对测试脚本进行识别,得到识别后的信息,测试脚本为基于自定义语言编写的脚本;通过解析器根据识别后的信息和预设映射表,确定接口实现器中的接口信息;基于接口信息和识别后的信息对待测终端进行测试。通过预设的解析器对自定义语言编写的测试脚本进行识别,继而基于预设映射表根据识别后的信息确定接口信息,根据接口信息和识别后的信息进行测试。便可以实现了根据自定义语言编写的测试脚本对待测终端进行测试,降低了自动化测试的门槛,用户无需学习特定的编程语言,为用户带来了便利,提高了用户体验。
Description
技术领域
本发明涉及测试技术领域,具体而言,涉及一种基于测试脚本的测试方法、装置、服务器及介质。
背景技术
软件测试对提升产品的质量和竞争力具有至关重要的作用,自动化测试是把以人为驱动的测试转化为机器执行的一种过程。相比于手动测试,自动化测试可以节省大量人力资源和时间资源,因此,自动化测试收到了广泛的欢迎。
相关技术中,在进行自动化测试时,需要使用特定的编程语言编写测试脚本,例如,Python、JAVA等编程语言,继而可以依据该测试脚本完成自动化测试。
但是,相关技术中,需要用户学习特定的编程语言,才能实现自动化测试,为用户带来了极大的不便,降低了用户体验。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种基于测试脚本的测试方法、装置、服务器及介质,以便解决相关技术需要用户学习特定的编程语言,才能实现自动化测试,为用户带来了极大的不便,降低了用户体验的问题。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种基于测试脚本的测试方法,包括:
通过解析器对测试脚本进行识别,得到识别后的信息,所述测试脚本为基于自定义语言编写的脚本;
通过所述解析器根据所述识别后的信息和预设映射表,确定接口实现器中的接口信息;
基于所述接口信息和所述识别后的信息对待测终端进行测试。
可选的,在所述通过所述解析器根据所述识别后的信息和预设映射表,确定接口实现器的接口信息之前,所述方法还包括:
将所述接口实现器中预设的接口对应关系,映射至所述解析器的初始映射表中,得到所述预设映射表。
可选的,所述将所述接口实现器中预设的接口对应关系,映射至所述解析器的映射表中,得到所述预设映射表,包括:
采用预设正则表达式,获取所述接口对应关系中的目标信息,所述目标信息包括:预设字段信息和对应的预设接口信息;
将所述目标信息存储至所述初始映射表中,得到所述预设映射表。
可选的,所述识别后的信息包括:操作信息、注释信息和接口参数信息,所述通过解析器对测试脚本进行识别,得到识别后的信息,包括:
通过所述解析器确定所述测试脚本中不同类型内容对应的标识信息;
通过所述解析器根据所述标识信息,对所述测试脚本的内容进行划分,得到所述操作信息和所述注释信息;
采用预设正则表达式,获取所述测试脚本中的所述接口参数信息。
可选的,所述通过所述解析器根据所述识别后的信息和预设映射表,确定接口实现器中的接口信息,包括:
通过所述解析器根据所述操作信息,查找所述预设映射表中与所述操作信息相匹配的目标预设字段信息,将所述目标预设字段信息对应的所述预设接口信息作为所述接口信息。
可选的,所述基于所述接口信息和所述识别后的信息进行测试,包括:
基于所述接口信息和所述接口参数信息进行测试。
可选的,所述通过所述解析器根据所述操作信息,查找所述预设映射表中与所述操作信息相匹配的目标预设字段信息,包括:
采用预设长度,获取所述操作信息中的查询字段;
根据所述查询字段遍历所述预设映射表,得到查找结果;
若所述查找结果指示,所述预设映射表中存在与所述查询字段相匹配的字段,则采用所述预设长度从所述操作信息中获取下一查询字段;
根据拼接字段查找所述预设映射表,直至获取完所述操作信息中的所有字段,得到所述预设映射表中的所述目标预设字段;
其中,所述拼接字段为拼接后的所述查询字段和所述下一查询字段。
可选的,所述方法还包括:
若所述预设映射表中不存与所述拼接字段匹配的字段,则判断所述拼接字段是否为待配置字段;
若是,则继续获取所述下一查询字段,并查询所述预设映射表,直至获取完所述操作信息中的所有字段;
若否,则不为所述拼接字段的对应所述操作信息,配置所述接口信息。
第二方面,本发明实施例还提供了一种基于测试脚本的测试装置,包括:
获取模块,用于通过解析器对测试脚本进行识别,得到识别后的信息,所述测试脚本为基于自定义语言编写的脚本;
确定模块,用于通过所述解析器根据所述识别后的信息和预设映射表,确定接口实现器中的接口信息;
测试模块,用于基于所述接口信息和所述识别后的信息对待测终端进行测试。
可选的,所述装置还包括:
映射模块,用于将所述接口实现器中预设的接口对应关系,映射至所述解析器的初始映射表中,得到所述预设映射表。
可选的,所述映射模块,还用于采用预设正则表达式,获取所述接口对应关系中的目标信息,所述目标信息包括:预设字段信息和对应的预设接口信息;将所述目标信息存储至所述初始映射表中,得到所述预设映射表。
可选的,所述识别后的信息包括:操作信息、注释信息和接口参数信息,所述获取模块,还用于通过所述解析器确定所述测试脚本中不同类型内容对应的标识信息;通过所述解析器根据所述标识信息,对所述测试脚本的内容进行划分,得到所述操作信息和所述注释信息;采用预设正则表达式,获取所述测试脚本中的所述接口参数信息。
可选的,所述确定模块,还用于通过所述解析器根据所述操作信息,查找所述预设映射表中与所述操作信息相匹配的目标预设字段信息,将所述目标预设字段信息对应的所述预设接口信息作为所述接口信息。
可选的,所述测试模块,还用于基于所述接口信息和所述接口参数信息进行测试。
可选的,所述确定模块,还用于采用预设长度,获取所述操作信息中的查询字段;根据所述查询字段遍历所述预设映射表,得到查找结果;若所述查找结果指示,所述预设映射表中存在与所述查询字段相匹配的字段,则采用所述预设长度从所述操作信息中获取下一查询字段;根据拼接字段查找所述预设映射表,直至获取完所述操作信息中的所有字段,得到所述预设映射表中的所述目标预设字段;
其中,所述拼接字段为拼接后的所述查询字段和所述下一查询字段。
可选的,所述装置还包括:
判断模块,用于若所述预设映射表中不存与所述拼接字段匹配的字段,则判断所述拼接字段是否为待配置字段;
查询模块,用于若是,则继续获取所述下一查询字段,并查询所述预设映射表,直至获取完所述操作信息中的所有字段;
配置模块,用于若否,则不为所述拼接字段的对应所述操作信息,配置所述接口信息。
本发明的有益效果是:本申请实施例提供一种基于测试脚本的测试方法,通过解析器对测试脚本进行识别,得到识别后的信息,测试脚本为基于自定义语言编写的脚本;通过解析器根据识别后的信息和预设映射表,确定接口实现器中的接口信息;基于接口信息和识别后的信息对待测终端进行测试。通过预设的解析器对自定义语言编写的测试脚本进行识别,继而基于预设映射表根据识别后的信息确定接口信息,根据接口信息和识别后的信息进行测试。便可以实现了根据自定义语言编写的测试脚本对待测终端进行测试,降低了自动化测试的门槛,用户无需学习特定的编程语言,为用户带来了便利,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种测试系统的结构示意图;
图2为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图;
图3为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图;
图4为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图;
图5为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图;
图6为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图;
图7为本发明实施例提供的一种基于测试脚本的测试装置的结构示意图;
图8为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本发明实施例提供的一种测试系统的结构示意图,如图1所示,该测试系统可以包括:待测终端10、服务器11、控制终端12。其中,该服务器11用于连接该待测终端10和控制终端12。
在本申请实施例中,用户可以基于控制终端编写测试脚本,该测试脚本可以是基于自定义编程语言所编写的,控制终端可以响应输入编写操作获取该测试脚本;控制终端可以向服务器发送该测试脚本。
相应的,服务器可以接收上述测试脚本,通过解析器对测试脚本进行识别,得到识别后的信息,测试脚本为基于自定义语言编写的脚本;通过解析器根据识别后的信息和预设映射表,确定接口实现器中的接口信息;基于接口信息和识别后的信息进行对待测终端进行测试。
本申请实施例提供的基于测试脚本的测试方法,其执行主体可以为上述服务器11,下述以服务器为执行主体,对本申请实施例所提供的基于测试脚本的测试方法进行解释说明。
本申请实施例提供一种基于测试脚本的测试方法,通过预设的解析器对自定义语言编写的测试脚本进行识别,继而基于预设映射表根据识别后的信息确定接口信息,根据接口信息和识别后的信息进行测试。便可以实现了根据自定义语言编写的测试脚本对待测终端进行测试,降低了自动化测试的门槛,用户无需学习特定的编程语言,为用户带来了便利,提高了用户体验。
图2为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图;如图2所示,该方法包括:
S201、通过解析器对测试脚本进行识别,得到识别后的信息。
其中,测试脚本为基于自定义语言编写的脚本。自定义语言为用户自定义的编程语言,自定义语言并非是Python、JAVA等特定的编程语言。相比于特定的编程语言,自定义的编程语言对更加灵活、门槛较低。
在一种可能的实施方式中,控制终端可以向服务器发送自定义语言编写的测试脚本,服务器可以接收该自定义语言编写的测试脚本,并将该测试脚本注册至预设的解析器中。服务器中的解析器可以接收信息的格式进行识别,确定该接收信息为测试脚本,继而对测试脚本进行识别,得到是识别后的信息。
需要说明的是,解析器为软件的程序代码,该解析器预设在服务器中。
S202、通过解析器根据识别后的信息和预设映射表,确定接口实现器中的接口信息。
其中,预设映射表中可以具有对应关系。
在一些实施方式中,服务器可以基于解析器,根据识别后的信息查找预设映射表中的对应关系,若预设映射表中存在与识别后的信息相匹配的信息,则该匹配的信息对应的接口信息为接口实现器中的接口信息。
S203、基于接口信息和识别后的信息对待测终端进行测试。
在一种可能的实施方式中,服务器可以调用通过解析器所确定的接口实现器中的接口信息,还可以调用解析器所获取的识别后的信息,继而根据接口信息和识别后的信息对待测终端进行测试。
需要说明的是,待测终端可以为手机,也可以为平板电脑,还可以其他类型的待测终端,本申请实施例对此不进行具体限制。
在本申请实施例中,在采用自定义语言编写测试脚本时,可以将功能相同的测试脚本的测试语句合并为一句脚本接口,进而可以减少重复性的脚本接口,降低测试脚本中程序代码的冗余度,使得测试脚本的编写更加灵活,也减小了用户的学习成本。
综上所述,本申请实施例提供一种基于测试脚本的测试方法,通过解析器对测试脚本进行识别,得到识别后的信息,测试脚本为基于自定义语言编写的脚本;通过解析器根据识别后的信息和预设映射表,确定接口实现器中的接口信息;基于接口信息和识别后的信息对待测终端进行测试。通过预设的解析器对自定义语言编写的测试脚本进行识别,继而基于预设映射表根据识别后的信息确定接口信息,根据接口信息和识别后的信息进行测试。便可以实现了根据自定义语言编写的测试脚本对待测终端进行测试,降低了自动化测试的门槛,用户无需学习特定的编程语言,为用户带来了便利,提高了用户体验。
在本申请实施例中,支持自定义语言的测试脚本,用户可以根据自己的需求定制所需的编程语言,可以是自然语言或者用户自身内部常用的编程语言,还可以支持中文,英文,俄语等本地语言,使得测试脚本的可塑性更高。
可选的,在上述S202中通过解析器根据识别后的信息和预设映射表,确定接口实现器的接口信息之前,还方法还可以包括:
将接口实现器中预设的接口对应关系,映射至解析器的初始映射表中,得到预设映射表。
在一些实施方式中,解析器中可以预设有初始映射表,服务器可以采用预设规则,对接口实现器中预设的接口对应关系进行处理,继而可以将处理后的接口对应关系映射至初始映射表中,得到预设映射表。
需要说明的是,接口对应关系可以包括预设测试语句、预设函数接口、预设函数参数、预设参数类型、预设测试语句的位置等信息之间对应关系。其中,对于预设测试语句所基于的编程语言不进行具体限制。
例如,预设测试语句可以表示待测终端标识信息、操作信息、检测的状态信息等等。
可选的,图3为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图,如图3所示,上述将接口实现器中预设的接口对应关系,映射至解析器的初始映射表中,得到预设映射表的过程,可以包括:
S301、采用预设正则表达式,获取接口对应关系中的目标信息。
其中,目标信息包括:预设字段信息和与预设字段信息对应的预设接口信息。
在一种可能的实施方式中,接口实现器的接口对应关系中,可以使用预设通配符修饰参数信息,继而服务器可以通过与预设通配符相对应的预设正则表达式,提取接口对应关系中的参数信息。
需要说明的是,上述提取的参数信息可以形成预设字段信息和对应的预设接口信息,即目标信息。预设字段信息的数量可以为多条,每条字段信息中包括多个预设字段。
S302、将目标信息存储至初始映射表中,得到预设映射表。
在一种可能的实施方式中,服务器可以将参数信息所形成的目标信息,进行转换存储,进而存储至初始映射表中,得到预设映射表。其中,预设映射表可以为表格的形式,也可以为文档的形式,还可以为便于服务器查询的其他形式,本申请实施例对此不进行具体限制。
例如,预设测试语句可以为(A)make video call to(B),对应的接口实现可以为:Voidmake_new_call(char*source_dut,char*dest_dut),其中,make_new_call为函数接口名,source_dut和dest_dut分别对应语句中的A和B的值。则在预设映射表中存储的目标信息可以为<scripts_reg>[1]make video call to[2]</scripts_reg><function>make_new_call([1],[2])</function>,即可以表示预设字段信息与预设接口的信息。其中,<scripts_reg>和<function>是标签,用于读取预设映射表时进行数据获取作用。
可选的,图4为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图,如图4所示,识别后的信息包括:操作信息、注释信息和接口参数信息,上述S201的过程可以包括:
S401、通过解析器确定测试脚本中不同类型内容对应的标识信息。
其中,测试脚本中可以包括多种类型内容。例如,测试脚本中可以包括:测试场景名称、注释内容、可操作内容等等。一个测试脚本中可以包括多个测试场景。
需要说明的是,对于不同类型内容所对应的标识信息是不同的,不同的标识信息可以位于不同类型内容的开头,也可以位于不同类型内容的末尾,还可以位于不同类型内容的其他位置,本申请实施例对此不进行具体限制。
另外,标识信息可以为字符信息,例如,注释内容的标识信息可以为$,则注释内容可以以$为开头;可操作内容的标识信息可以为&,则可操作内容的开头可以以&为开头。
S402、通过解析器根据标识信息,对测试脚本的内容进行划分,得到操作信息和注释信息。
在本申请实施例中,注释信息可以用于描述测试场景的测试环境和测试过程,可从操作信息可以用于表示可执行的步骤、以及待执行的步骤等等。
在一些实施方式中,服务器可以根据上述操作内容和注释内容对应的标识信息,遍历测试脚本的内容,以进行匹配,从而将测试脚本的内容划分为操作信息和注释信息等两类信息。
S403、采用预设正则表达式,获取测试脚本中的接口参数信息。
其中,服务器可以采用预设正则表达式,从测试脚本的操作信息中获取接口参数信息。
例如,服务器可以将测试脚本的操作信息中括号里面的内容作为接口参数信息,其中,括号可以用“()”来表示。当然,预设正则表达式还可以为其他形式,本申请实施例对此不进行具体限制。
可选的,上述S202中通过解析器根据识别后的信息和预设映射表,确定接口实现器中的接口信息的过程,可以包括:
通过解析器根据操作信息,查找预设映射表中与操作信息相匹配的目标预设字段信息,将目标预设字段信息对应的预设接口信息作为接口信息。
在一种可能实施方式中,服务器通过解析器,根据操作信息遍历预设映射表中的预设字段信息,将于操作信息相匹配的预设字段信息,作为上述目标预设字段信息,根据预设映射表将该目标预设字段信息对应的预设接口信息作为接口信息。
需要说明的是,操作信息中可以包含测试脚本所对应的多个可操作步骤,预设映射表中的预设字段信息可以包含多条测试语句,上述匹配的过程可以理解为,可操作步骤与预设映射表中的测试语句匹配的过程。
另外,解析器中所具有的预设映射表中可以集成测试语句和函数接口、函数参数、参数类型等信息。
综上所述,通过查找预设映射表的方式,预加载测试时所需的接口信息,降低了测试过程中待测步骤的校验时间,有效的提高了测试效率。而且减小了维护人员的工作量,仅需要调整映射表便可以进行功能脚本的添加和删除修改。
可选的,S203中基于接口信息和识别后的信息对待测终端进行测试的过程,可以包括:基于接口信息和接口参数信息进行测试。
在一种可能的实施方式中,服务器可以调用通过解析器所确定的接口实现器中的接口信息,还可以调用解析器所获取的接口参数信息,继而根据接口信息和接口参数信息对待测终端进行测试。
可选的,图5为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图,如图5所示,上述通过解析器根据操作信息,查找预设映射表中与操作信息相匹配的目标预设字段信息,包括:
S501、采用预设长度,获取操作信息中的查询字段。
其中,服务器可以根据预设拆分标识,对操作信息中的各可操作步骤进行拆分,得到各可操作步骤对应的拆分后的可操作步骤,拆后的可操作步骤可以以临时数组进行存储。继而可以便于服务器从各拆分后的可操作步骤中,以预设长度,获取相应的查询字段。
例如,一条可操作步骤可以表示:(A)register username(XXX)password(YYY)server address(X.X.X.X),预设拆分标识可以为空格,则通过空格进行拆分,获取的拆分后的可操作步骤可以表示为['A','register','username','XXX,'password','YYY','server','address','X.X.X.X']。
S502、根据查询字段遍历预设映射表,得到查找结果。
在一种可能的实施方式中,对于一个拆分后的可操作步骤,该拆分后的可操作步骤中可以包括多个字段,服务器可以先获取首段字段作为查询字段,继而根据该查询字段遍历预设映射表,以确定预设映射表中是否存在与查询字段相匹配的预设字段信息,得到查找结果。
另外,查找结果可以用于指示预设映射表中存在与查询字段相匹配的预设字段信息,或者,预设映射表中不存在与查询字段相匹配的预设字段信息。
S503、若查找结果指示,预设映射表中存在与查询字段相匹配的字段,则采用预设长度从操作信息中获取下一查询字段。
其中,下一查询字段为同一拆分后的可操作步骤中的其他字段。服务器可以根据拆分后的可操作步骤中字段顺序,获取下一查询字段。
需要说明的是,若查找结果指示,预设映射表中不存在与查询字段(首段字段)相匹配的预设字段信息,则停止基于拆分后的可操作步骤中的多个字段,对预设映射表的遍历。
S504、根据拼接字段查找预设映射表,直至获取完操作信息中的所有字段,得到预设映射表中的目标预设字段。
其中,拼接字段为拼接后的查询字段和下一查询字段。
在一些实施方式中,服务器可以对查询字段和下一查询字段进行拼接,得到拼接后的查询字段;继而根据拼接字段查找预设映射表,若预设映射表中存在与拼接字段相匹配的预设字段信息,则服务器可以再次以预设长度从拆分后的可操作步骤中获取又一查询字段,继而对查询字段、下一查询字段和又一查询字段进行拼接,得到拼接后的字段,继而基于该拼接后的字段遍历预设映射表,在预设映射表中存在匹配的预设字段信息时,继续对可操作步骤中的字段进行获取,重复上述步骤,直至获取完拆分后的可操作步骤中所有字段,得到预设映射表中与该可操作步骤相匹配的目标预设字段,该目标预设字段可以为一条测试语句。
对于操作信息中的每个拆分后的可操作步骤,服务器均可以采用上述方式进行遍历预设映射表,直至完成对于每个拆分后的可操作步骤的查找,此处不再赘述。
可选的,图6为本发明实施例提供的一种基于测试脚本的测试方法的流程示意图,如图6所示,该方法还可以包括:
S601、若预设映射表中不存与拼接字段匹配的字段,则判断拼接字段是否为待配置字段。
其中,待配置字段可以成为可配置参数,即隐藏参数。
在一种可能的实施方式中,若服务器确定预设映射表中不存与拼接字段匹配的字段,则可以基于待配置字段对应的通配符,判断该拼接字段是否为待配字段。
S602、若是,则继续获取下一查询字段,并查询预设映射表,直至获取完操作信息中的所有字段。
需要说明的是,S602的过程与上述S503、S504的过程类似,均是对查询字段和下一查询字段进行拼接,根据拼接字段查找预设映射表,直至获取完操作信息中的所有字段,得到预设映射表中的目标预设字段,此处不再一一赘述。
S603、若否,则不为拼接字段的对应操作信息,配置接口信息。
在本申请实施例中,若拼接字段不为待配置字段,则证明该拼接字段所述可操作步骤不符合要求,则不为该可操作步骤(可操作信息),配置接口信息。
在一些实施方式中,则执行S504的过程中,查询字段、下一查询字段和又一查询字段进行拼接,得到拼接后的字段,继而基于该拼接后的字段遍历预设映射表,在预设映射表中不存在匹配的预设字段信息时,也可以执行S601至S603的过程。即,在拼接的字段不能在预设映射表中查找到匹配字段时,均可以对应执行S601至S603的过程,以可配置参数的判断,本申请实施例对此不进行具体限制。
综上所述,考虑到相似测试场景会增加测试脚本的数量,解析器基于将测试脚本中的可操作步骤查找预设映射表的过程中会增加可配置参数的判断,可配置参数为测试脚本的可操作步骤中一些参数在不需要的场景下,可不对其做配置。如此,便可以将相似的测试场景进行统一,减少重复性可操作步骤的实现。
图7为本发明实施例提供的一种基于测试脚本的测试装置的结构示意图,如图7所示,该装置可以包括:
获取模块701,用于通过解析器对测试脚本进行识别,得到识别后的信息,测试脚本为基于自定义语言编写的脚本;
确定模块702,用于通过解析器根据识别后的信息和预设映射表,确定接口实现器中的接口信息;
测试模块703,用于基于接口信息和识别后的信息对待测终端进行测试。
可选的,装置还包括:
映射模块,用于将接口实现器中预设的接口对应关系,映射至解析器的初始映射表中,得到预设映射表。
可选的,映射模块,还用于采用预设正则表达式,获取接口对应关系中的目标信息,目标信息包括:预设字段信息和对应的预设接口信息;将目标信息存储至初始映射表中,得到预设映射表。
可选的,识别后的信息包括:操作信息、注释信息和接口参数信息,获取模块701,还用于通过解析器确定测试脚本中不同类型内容对应的标识信息;通过解析器根据标识信息,对测试脚本的内容进行划分,得到操作信息和注释信息;采用预设正则表达式,获取测试脚本中的接口参数信息。
可选的,确定模块702,还用于通过解析器根据操作信息,查找预设映射表中与操作信息相匹配的目标预设字段信息,将目标预设字段信息对应的预设接口信息作为接口信息。
可选的,测试模块703,还用于基于接口信息和接口参数信息进行测试。
可选的,确定模块702,还用于采用预设长度,获取操作信息中的查询字段;根据查询字段遍历预设映射表,得到查找结果;若查找结果指示,预设映射表中存在与查询字段相匹配的字段,则采用预设长度从操作信息中获取下一查询字段;根据拼接字段查找预设映射表,直至获取完操作信息中的所有字段,得到预设映射表中的目标预设字段;
其中,拼接字段为拼接后的查询字段和下一查询字段。
可选的,装置还包括:
判断模块,用于若预设映射表中不存与拼接字段匹配的字段,则判断拼接字段是否为待配置字段;
查询模块,用于若是,则继续获取下一查询字段,并查询预设映射表,直至获取完操作信息中的所有字段;
配置模块,用于若否,则不为拼接字段的对应操作信息,配置接口信息。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图8为本发明一实施例提供的一种服务器的结构的示意图,该服务器可以包括:处理器801、存储器802。
存储器802用于存储程序,处理器801调用存储器802存储的程序,以执行上述图2至6所述的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述图2至6所述的方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (9)
1.一种基于测试脚本的测试方法,其特征在于,包括:
通过解析器对测试脚本进行识别,得到识别后的信息,所述测试脚本为基于自定义语言编写的脚本;
通过所述解析器根据所述识别后的信息和预设映射表,确定接口实现器中的接口信息;
基于所述接口信息和所述识别后的信息对待测终端进行测试;其中,所述识别后的信息包括:操作信息、注释信息和接口参数信息;
所述通过所述解析器根据所述识别后的信息和预设映射表,确定接口实现器中的接口信息,包括:
通过所述解析器根据所述操作信息,查找所述预设映射表中与所述操作信息相匹配的目标预设字段信息,将所述目标预设字段信息对应的预设接口信息作为所述接口信息;
所述通过所述解析器根据所述操作信息,查找所述预设映射表中与所述操作信息相匹配的目标预设字段信息,包括:
采用预设长度,获取所述操作信息中的查询字段;
根据所述查询字段遍历所述预设映射表,得到查找结果;
若所述查找结果指示,所述预设映射表中存在与所述查询字段相匹配的字段,则采用所述预设长度从所述操作信息中获取下一查询字段;
根据拼接字段查找所述预设映射表,直至获取完所述操作信息中的所有字段,得到所述预设映射表中的所述目标预设字段;
其中,所述拼接字段为拼接后的所述查询字段和所述下一查询字段。
2.根据权利要求1所述的方法,其特征在于,在所述通过所述解析器根据所述识别后的信息和预设映射表,确定接口实现器的接口信息之前,所述方法还包括:
将所述接口实现器中预设的接口对应关系,映射至所述解析器的初始映射表中,得到所述预设映射表。
3.根据权利要求2所述的方法,其特征在于,所述将所述接口实现器中预设的接口对应关系,映射至所述解析器的映射表中,得到所述预设映射表,包括:
采用预设正则表达式,获取所述接口对应关系中的目标信息,所述目标信息包括:预设字段信息和对应的预设接口信息;
将所述目标信息存储至所述初始映射表中,得到所述预设映射表。
4.根据权利要求3所述的方法,其特征在于,所述通过解析器对测试脚本进行识别,得到识别后的信息,包括:
通过所述解析器确定所述测试脚本中不同类型内容对应的标识信息;
通过所述解析器根据所述标识信息,对所述测试脚本的内容进行划分,得到所述操作信息和所述注释信息;
采用预设正则表达式,获取所述测试脚本中的所述接口参数信息。
5.根据权利要求4所述的方法,其特征在于,所述基于所述接口信息和所述识别后的信息进行测试,包括:
基于所述接口信息和所述接口参数信息进行测试。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述预设映射表中不存与所述拼接字段匹配的字段,则判断所述拼接字段是否为待配置字段;
若是,则继续获取所述下一查询字段,并查询所述预设映射表,直至获取完所述操作信息中的所有字段;
若否,则不为所述拼接字段的对应所述操作信息,配置所述接口信息。
7.一种基于测试脚本的测试装置,其特征在于,包括:
获取模块,用于通过解析器对测试脚本进行识别,得到识别后的信息,所述测试脚本为基于自定义语言编写的脚本;
确定模块,用于通过所述解析器根据所述识别后的信息和预设映射表,确定接口实现器中的接口信息;
测试模块,用于基于所述接口信息和所述识别后的信息进行测试;其中,所述识别后的信息包括:操作信息、注释信息和接口参数信息;
所述确定模块,还用于通过所述解析器根据所述操作信息,查找所述预设映射表中与所述操作信息相匹配的目标预设字段信息,将所述目标预设字段信息对应的预设接口信息作为所述接口信息;
所述确定模块,还用于采用预设长度,获取所述操作信息中的查询字段;根据所述查询字段遍历所述预设映射表,得到查找结果;若所述查找结果指示,所述预设映射表中存在与所述查询字段相匹配的字段,则采用所述预设长度从所述操作信息中获取下一查询字段;根据拼接字段查找所述预设映射表,直至获取完所述操作信息中的所有字段,得到所述预设映射表中的所述目标预设字段;其中,所述拼接字段为拼接后的所述查询字段和所述下一查询字段。
8.一种服务器,其特征在于,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-6任一项所述的方法。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010937552.0A CN112035373B (zh) | 2020-09-08 | 2020-09-08 | 基本测试脚本的测试方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010937552.0A CN112035373B (zh) | 2020-09-08 | 2020-09-08 | 基本测试脚本的测试方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035373A CN112035373A (zh) | 2020-12-04 |
CN112035373B true CN112035373B (zh) | 2022-10-28 |
Family
ID=73585067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010937552.0A Active CN112035373B (zh) | 2020-09-08 | 2020-09-08 | 基本测试脚本的测试方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035373B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019928A (zh) * | 2011-09-27 | 2013-04-03 | 北京新媒传信科技有限公司 | 一种自动化测试方法和系统 |
CN110825618A (zh) * | 2019-10-10 | 2020-02-21 | 重庆金融资产交易所有限责任公司 | 一种生成测试用例的方法及相关装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954933B2 (en) * | 2011-05-31 | 2015-02-10 | International Business Machines Corporation | Interactive semi-automatic test case maintenance |
CN109508298B (zh) * | 2018-12-25 | 2022-03-22 | 网易(杭州)网络有限公司 | 图形化的脚本测试方法及系统 |
CN109977020B (zh) * | 2019-04-01 | 2022-02-22 | 山东威尔数据股份有限公司 | 一种自动化测试方法 |
CN110704816B (zh) * | 2019-09-29 | 2021-10-22 | 武汉极意网络科技有限公司 | 接口破解的识别方法、装置、设备及存储介质 |
CN111309596A (zh) * | 2020-01-19 | 2020-06-19 | 中国平安人寿保险股份有限公司 | 数据库测试方法、装置、终端设备及存储介质 |
-
2020
- 2020-09-08 CN CN202010937552.0A patent/CN112035373B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019928A (zh) * | 2011-09-27 | 2013-04-03 | 北京新媒传信科技有限公司 | 一种自动化测试方法和系统 |
CN110825618A (zh) * | 2019-10-10 | 2020-02-21 | 重庆金融资产交易所有限责任公司 | 一种生成测试用例的方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112035373A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427331B (zh) | 基于接口测试工具自动生成性能测试脚本的方法 | |
CN109800258B (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
WO2019227641A1 (zh) | 一种应用程序测试方法、装置、终端设备及介质 | |
CN110955409B (zh) | 在云平台上创建资源的方法和装置 | |
CN112115055A (zh) | 一种多机自动化测试方法、装置及计算机设备 | |
CN102981956B (zh) | overlay符号表建立和查找的方法、装置及程序调制系统 | |
CN112306495A (zh) | 图片校验方法、装置、计算机设备及计算机可读存储介质 | |
CN110795069A (zh) | 代码分析方法、智能终端及计算机可读存储介质 | |
CN111427784A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN112463596B (zh) | 测试用例数据的处理方法、装置、设备以及处理设备 | |
CN111563037B (zh) | 基于测试试题的测试优化方法及装置、存储介质、终端 | |
CN112035373B (zh) | 基本测试脚本的测试方法、装置、服务器及介质 | |
CN111240790B (zh) | 一种应用的多语言适配方法、装置、客户端和存储介质 | |
CN110188106B (zh) | 一种数据管理方法和装置 | |
CN110059184B (zh) | 一种作业错题收集分析方法及系统 | |
CN109474822B (zh) | 一种安卓电视多国语言自动化测试的方法及装置 | |
CN111078529A (zh) | 客户端写入模块测试方法、装置、电子设备 | |
CN110083807B (zh) | 合同的修改影响自动预测方法、装置、介质及电子设备 | |
CN111338956A (zh) | 一种自动化的压测方法、装置、设备和存储介质 | |
CN107704374B (zh) | 测试方法和装置 | |
CN110955687B (zh) | 数据修改方法及装置 | |
CN115129852A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN107608875B (zh) | 一种静态代码的本地化处理方法及装置 | |
CN115826990A (zh) | 一种接口文档的生成方法及装置 | |
CN113886214A (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 |