CN115145830A - 接口测试用例生成方法、装置及设备 - Google Patents

接口测试用例生成方法、装置及设备 Download PDF

Info

Publication number
CN115145830A
CN115145830A CN202210916896.2A CN202210916896A CN115145830A CN 115145830 A CN115145830 A CN 115145830A CN 202210916896 A CN202210916896 A CN 202210916896A CN 115145830 A CN115145830 A CN 115145830A
Authority
CN
China
Prior art keywords
interface
information
test case
request
target
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
Application number
CN202210916896.2A
Other languages
English (en)
Inventor
吕俊杰
陈勇
叶协彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Haohan Energy Technology Co ltd
Zhejiang Geely Holding Group Co Ltd
Original Assignee
Zhejiang Haohan Energy Technology Co ltd
Zhejiang Geely Holding Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Haohan Energy Technology Co ltd, Zhejiang Geely Holding Group Co Ltd filed Critical Zhejiang Haohan Energy Technology Co ltd
Priority to CN202210916896.2A priority Critical patent/CN115145830A/zh
Publication of CN115145830A publication Critical patent/CN115145830A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Abstract

本申请实施例提供一种接口测试用例生成方法、装置及设备。该方法包括:获取UI测试过程所产生的接口调用信息,接口调用信息中包括多个请求信息和多个请求信息对应的响应信息;在多个请求信息中确定目标请求信息,以及在多个响应信息中确定目标响应信息;根据目标请求信息和目标响应信息,生成接口测试用例,接口测试用例用于进行接口自动化测试。提高了接口测试用例的编写效率。

Description

接口测试用例生成方法、装置及设备
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种接口测试用例生成方法、装置及设备。
背景技术
在软件测试中,为了提升软件质量和测试能效,通常会把人为驱动的测试行为转化为机器执行,即采用自动化测试技术。
自动化测试可以包括用户界面(User Interface,UI)自动化测试和接口自动化测试。在相关技术中,通常分别编写UI测试用例和接口测试用例,以及根据UI测试用例进行UI测试,根据接口测试用例进行接口测试。即,在相关技术中,需要人工编写接口测试用例,导致接口测试用例的编写效率低下。
发明内容
本申请实施例提供一种接口测试用例生成方法、装置及设备,提高了接口测试用例的编写效率。
第一方面,本申请实施例提供一种接口测试用例生成方法,包括:
获取用户界面UI测试过程所产生的接口调用信息,所述接口调用信息中包括多个请求信息和所述多个请求信息对应的响应信息;
在所述多个请求信息中确定目标请求信息,以及在所述多个响应信息中确定目标响应信息;
根据所述目标请求信息和所述目标响应信息,生成接口测试用例,所述接口测试用例用于进行接口自动化测试。
在一种可能的实施方式中,获取UI测试过程所产生的接口调用信息,包括:
通过代理服务获取所述UI测试过程所产生的日志信息;
对所述日志信息进行解析处理,得到所述接口调用信息;
其中,所述接口调用信息中的请求信息中包括如下至少一种:接口标识、请求方法、请求链接、请求链接参数、请求包数据、请求时刻;所述接口调用信息中的响应信息包括如下至少一种:接口标识、响应码、响应报文、响应时刻。
在一种可能的实施方式中,通过代理服务获取所述UI测试过程所产生的日志信息,包括:
获取UI测试用例;
执行所述UI测试用例,以及启动所述代理服务;
在执行所述UI测试用例的过程中,通过所述代理服务获取所述日志信息。
在一种可能的实施方式中,通过代理服务获取所述UI测试过程所产生的日志信息,包括:
实例化所述代理服务,得到服务对象;
通过所述服务对象获取所述日志信息。
在一种可能的实施方式中,在所述多个请求信息中确定目标请求信息,以及在所述多个响应信息中确定目标响应信息,包括:
确定筛选条件,所述筛选条件包括如下至少一种:请求信息的格式、关键词、请求链接;
根据所述筛选条件,在所述多个请求信息中确定所述目标请求信息;
将所述目标请求信息对应的响应信息,确定为所述目标响应信息。
在一种可能的实施方式中,所述目标请求信息中包括请求时刻;根据所述目标请求信息和所述目标响应信息,生成接口测试用例,包括:
根据所述目标请求信息中的请求时刻,确定接口调用顺序;
根据每条目标请求信息和对应的目标响应信息,确定对应的接口测试条目;
按照所述接口调用顺序,对所述接口测试条目进行组装处理,得到所述接口测试用例。
第二方面,本申请实施例提供一种接口测试用例生成装置,包括:获取模块、确定模块和生成模块,其中,
所述获取模块用于,获取UI测试过程所产生的接口调用信息,所述接口调用信息中包括多个请求信息和所述多个请求信息对应的响应信息;
所述确定模块用于,在所述多个请求信息中确定目标请求信息,以及在所述多个响应信息中确定目标响应信息;
所述生成模块用于,根据所述目标请求信息和所述目标响应信息,生成接口测试用例,所述接口测试用例用于进行接口自动化测试。
在一种可能的实施方式中,所述获取模块具体用于:
通过代理服务获取所述UI测试过程所产生的日志信息;
对所述日志信息进行解析处理,得到所述接口调用信息;
其中,所述接口调用信息中的请求信息中包括如下至少一种:接口标识、请求方法、请求链接、请求链接参数、请求包数据、请求时刻;所述接口调用信息中的响应信息包括如下至少一种:接口标识、响应码、响应报文、响应时刻。
在一种可能的实施方式中,通过代理服务获取所述UI测试过程所产生的日志信息,所述获取模块具体用于:
获取UI测试用例;
执行所述UI测试用例,以及启动所述代理服务;
在执行所述UI测试用例的过程中,通过所述代理服务获取所述日志信息。
在一种可能的实施方式中,通过代理服务获取所述UI测试过程所产生的日志信息,所述获取模块具体用于:
实例化所述代理服务,得到服务对象;
通过所述服务对象获取所述日志信息。
在一种可能的实施方式中,所述确定模块具体用于:
确定筛选条件,所述筛选条件包括如下至少一种:请求信息的格式、关键词、请求链接;
根据所述筛选条件,在所述多个请求信息中确定所述目标请求信息;
将所述目标请求信息对应的响应信息,确定为所述目标响应信息。
在一种可能的实施方式中,所述生成模块具体用于:
根据所述目标请求信息中的请求时刻,确定接口调用顺序;
根据每条目标请求信息和对应的目标响应信息,确定对应的接口测试条目;
按照所述接口调用顺序,对所述接口测试条目进行组装处理,得到所述接口测试用例。
第三方面,本申请实施例提供一种接口测试用例生成设备,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项所述的方法。
本申请实施例提供的接口测试用例生成方法、装置及设备,获取UI测试过程所产生的接口调用信息,接口调用信息中包括多个请求信息和多个请求信息对应的响应信息;在多个请求信息中确定目标请求信息,以及在多个响应信息中确定目标响应信息;根据目标请求信息和目标响应信息,生成接口测试用例,接口测试用例用于进行接口自动化测试。在上述过程中,由于可以在UI自动化测试执行过程中,直接生成对应的接口测试用例,无需人工编写接口测试用例,提高了接口测试用例的编写效率。
附图说明
图1为本申请实施例提供的应用场景的示意图;
图2为本申请实施例提供的接口测试用例生成方法的流程示意图;
图3为本申请实施例提供的另一种接口测试用例生成方法的流程示意图;
图4为本申请实施例提供的一种接口测试用例生成方法的具体框架示意图;
图5为本申请实施例提供的接口测试用例生成装置的结构示意图;
图6为本申请实施例提供的接口测试用例生成设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的应用场景的示意图。请参见图1,包括设备终端101。其中,终端设备101中设置有应用程序,应用程序对应有显示页面和接口。可以在终端设备101中对应用程序中的显示页面进行UI测试,以及对应用程序中的接口进行接口测试。
在相关技术中,通常分别编写UI测试用例和接口测试用例,以及根据UI测试用例进行UI测试,根据接口测试用例进行接口测试。即,在相关技术中,需要人工编写接口测试用例,导致接口测试用例的编写效率低下。
在本申请实施例中,获取UI测试过程所产生的接口调用信息,接口调用信息中包括多个请求信息和多个请求信息对应的响应信息。在多个请求信息中确定目标请求信息,以及在多个响应信息中确定目标响应信息。根据目标请求信息和目标响应信息,生成接口测试用例,接口测试用例用于进行接口自动化测试。在上述过程中,由于可以在UI自动化测试执行过程中,直接生成对应的接口测试用例,无需人工编写接口测试用例,提高了接口测试用例的编写效率。
下面,通过具体实施例对本申请所示的方法进行说明。需要说明的是,下面几个实施例可以单独存在,也可以互相结合,对于相同或相似的内容,在不同的实施例中不再重复说明。
图2为本申请实施例提供的接口测试用例生成方法的流程示意图。请参见图2,该方法可以包括:
S201、获取UI测试过程所产生的接口调用信息。
本申请实施例的执行主体可以为终端设备,也可以为设置在终端设备中的接口测试用例生成装置。接口测试用例生成装置可以通过软件实现,也可以通过软件和硬件的结合实现。
UI测试作为产品应用程序或软件测试的一种测试类型,可以通过模拟用户在用户界面上的各种操作,来验证这些操作对应的结果是否正确。UI测试通常可以用于,测试用户界面的功能是否正确。
在进行UI测试的过程中,可能会调用多个接口,进而可以获得多条接口调用信息,接口调用信息可以包括多个请求信息和多个请求信息对应的响应信息。
请求信息可以为终端设备在执行UI测试过程中,通过接口向服务器发出的请求信息。
响应信息可以为,服务器在接收到终端设备发出的请求信息后,通过接口传输回来的响应信息。
S202、在多个请求信息中确定目标请求信息,以及在多个响应信息中确定目标响应信息。
可以通过如下方式获得目标请求信息与目标响应信息:确定筛选条件,筛选条件包括如下至少一种:请求信息的格式、关键词、请求链接;根据筛选条件,在多个请求信息中确定目标请求信息;将目标请求信息对应的响应信息,确定为目标响应信息。
可选的,筛选条件可以包括请求信息的格式,可以在多个请求信息中对包含这种格式的请求信息进行筛除,将余下的多个请求信息确定为目标请求信息。例如,多个请求信息的格式可以包括格式1、格式2和格式3,当不需要格式为格式2的请求信息时,可以将格式2确定为筛选条件,对多个请求信息中格式为格式2的请求信息进行筛除,将余下的多个请求信息确定为目标请求信息。
可选的,筛选条件可以包括关键词,可以在多个请求信息中将包含该关键词的请求信息全部筛选出来,确定为目标请求信息。例如,关键词可以为“登录”,在多个请求信息中,将含有关键词“登录”的请求信息全部筛选出来,确定为目标请求信息。
可选的,筛选条件还可以包括请求链接,可以在多个请求信息中将包含该请求链接的请求信息全部筛选出来,确定为目标请求信息。例如,请求链接可以为请求链接1,在多个请求信息中,将请求链接为请求链接1的请求信息全部筛选出来,确定为目标请求信息。
S203、根据目标请求信息和目标响应信息,生成接口测试用例,接口测试用例用于进行接口自动化测试。
接口可以为,终端设备中的客户端与服务器进行适配的一种连接工具、规范和协议。例如,接口可以为应用程序可编程接口(Application Programming Interface,API);或者客户端与服务器交互的HTTP协议接口等。终端设备和服务器可以通过接口进行数据传输。
接口测试为产品应用程序或者软件测试的一种测试类型,接口测试可以用于应用程序对应的接口的测试。
接口测试用例可以应用于接口自动化测试中。测试用例的内容可以包括用例ID、用例名称、测试目标、测试环境、输入数据、测试步骤、预置条件和预期结果等。
本申请实施例提供的接口测试用例生成方法,获取UI测试过程所产生的接口调用信息,接口调用信息中包括多个请求信息和多个请求信息对应的响应信息;在多个请求信息中确定目标请求信息,以及在多个响应信息中确定目标响应信息;根据目标请求信息和目标响应信息,生成接口测试用例,接口测试用例用于进行接口自动化测试。在上述过程中,由于可以在UI自动化测试执行过程中,直接生成对应的接口测试用例,无需人工编写接口测试用例,提高了接口测试用例的编写效率。
图3为本申请实施例提供的另一种接口测试用例生成方法的流程示意图。请参见图3,该方法可以包括:
S301、获取UI测试用例。
UI测试用例可以应用于UI自动化测试中。
可以通过如下方式获取UI测试用例:获取全球广域网(World Wide Web,Web)页面元素以及页面元素的定位数据;根据获取的页面元素和页面元素的定位数据,基于selenium框架中的页面对象(Page Object,PO)模型编写UI测试用例。
页面元素可以包括页面中按钮、文本输入框、下拉框、单/复选框元素、超链接、文字、图片、音频、动画、视频等。
页面元素的定位数据可以包括页面元素的ID、名称、类名、xpath和层级样式表(Cascading Style Sheets,CSS)。
可选的,在得到UI测试用例之后,还可以通过数据库(MySQL)存储UI测试用例。具体过程如下:可以通过Pytest单元测试框架对编写好的UI测试用例进行整合,获得UI测试用例列表;将UI测试用例列表存储于测试用例数据库(MySQL)中,并通过终端设备中的Web平台对存储于MySQL数据库中的UI测试用例进行管理。
每个UI测试用例对应一种测试情景,且具有唯一对应的用例ID号。每个UI测试用例在执行过程中,可以依次调用多个接口。因此,可以基于用例ID号创建一个UI测试用例组,该UI测试用例组包括:用例ID号、用例名称、用例内容以及用例执行过程中对应的接口信息。其中用例内容可以包括预置条件、输入数据、测试步骤、预期效果等;接口信息包括接口的调用顺序、接口请求信息、接口响应信息。
可以通过Pytest单元测试框架获取多个测试情景下的UI测试用例组,并将多个UI测试用例组按照预设的顺序进行排列,获得UI测试用例列表。其中,预设的顺序可以按照测试用例ID号从小到大进行排列。
S302、执行UI测试用例,以及启动代理服务。
可选的,可以通过Webdriver来执行UI测试用例,以实现UI自动化测试。其中,Webdriver作为一种自动化测试工具,可以应用于Web应用程序的自动化测试。
可选的,可以通过BrowserMob Proxy代理服务器启动代理服务。
S303、实例化代理服务,得到服务对象。
可选的,在执行UI自动化测试过程中,当启动代理服务后,可以通过实例化Server服务,创建一个server.create_proxy()实例化对象,利用该对象可以对该UI测试用例执行过程所涉及的所有接口数据进行抓包捕获。
S304、通过服务对象获取日志信息。
在执行UI自动化测试过程中,当启动代理服务后,可以以日志的形式记录服务对象抓包捕获的接口数据,即可获得该UI自动化测试过程中的日志信息。可选的,日志信息可以为proxy.har文件中的entries数据。
日志信息可以包括:该服务对象在UI测试用例执行过程中抓包捕获到的所有接口数据,其中接口数据包括接口请求数据和接口响应数据。可选的,接口请求数据可以为entries数据中的request数据,接口响应数据可以为entries数据中的response数据。
S305、对日志信息进行解析处理,得到接口调用信息。
接口调用信息包括接口请求信息和接口响应信息。
可以对日志信息中的接口请求数据进行解析,获得接口请求信息,接口请求信息可以包括接口标识、请求方法、请求链接、请求链接参数、请求包数据、请求时刻。
例如,可以对entries数据中的request数据进行解析,获得接口请求信息,接口请求信息可以包括请求方法、请求链接、请求包数据。具体解析过程如下:解析request数据中的method获得接口请求方法,解析request数据中的url获得请求链接,解析request数据中的postData获得请求包数据。
可以对日志信息中的接口请求数据对应的响应数据进行解析,获得接口响应信息,接口响应信息可以包括接口标识、响应码、响应报文、响应时刻。
例如,可以对entries数据中的response数据进行解析,获得接口响应信息,接口响应信息可以包括响应码和响应报文。具体解析过程如下:解析response数据中的status获得响应码,解析response数据中的content获得响应报文。
S306、确定筛选条件。
其中,筛选条件包括如下至少一种:请求信息的格式、关键词、请求链接。
需要说明的是,S306的执行过程可以参见S202的执行过程,此处不再进行赘述。
S307、根据筛选条件,在多个请求信息中确定目标请求信息。
可选的,筛选条件可以包括请求信息的格式和请求链接。在多个请求信息中,可以先将筛选条件中的请求信息的格式作为筛除条件,对多个请求信息中包含该种格式的请求信息进行筛除,获得余下的满足格式要求的请求信息;再以请求链接作为筛选条件,在这些余下的满足格式要求的请求信息中,筛选出包含该请求链接的请求信息,将这些请求信息确定为目标请求信息。
例如,多个请求信息的格式可以包括JPG格式、CSS格式和JSON格式,多个请求信息中的请求链接可以包括请求链接1、请求链接2。筛选条件可以包括JPG格式和请求链接1。在多个请求信息中,先将JPG格式的请求信息进行筛除,获得余下的满足格式要求的请求信息;再在余下的满足格式要求的请求信息中,将包含请求链接1的请求信息筛选出来,将这些请求信息确定为目标请求信息。
S308、将目标请求信息对应的响应信息,确定为目标响应信息。
每个目标请求信息具有唯一对应的目标响应信息。
S309、根据目标请求信息中的请求时刻,确定接口调用顺序。
在一个测试用例中,每个接口唯一对应一个请求信息和一个响应信息。因此,接口和请求信息之间具有对应关系,可以通过确定请求信息的先后顺序,来确定接口的先后顺序,即接口调用顺序。
可以通过如下方式确定接口调用顺序:对筛选出来的多个目标请求信息按照请求时刻顺序从前到后进行排列,获得目标请求信息的先后顺序;根据目标请求信息与接口之间的对应关系,获得接口调用顺序。
S310、根据每条目标请求信息和对应的目标响应信息,确定对应的接口测试条目。
每个接口测试条目对应一个接口。接口测试条目包括:接口接收到的来自终端设备的目标请求信息,以及服务器针对该目标请求信息做出响应的目标响应信息。
S311、按照接口调用顺序,对接口测试条目进行组装处理,得到接口测试用例。
例如,接口测试用例可以如表1所示:
表1
Figure BDA0003776112660000101
可选的,当UI测试用例执行结束并获得对应的接口测试用例后,还可以根据该接口测试用例中的目标请求信息和目标响应信息,对该接口测试用例对应的UI测试用例组中编写的接口请求信息和接口响应信息进行验证。将验证通过的接口测试用例更新存储到对应的测试用例数据库中,以便于后续进行接口自动化测试。在后续的接口自动化测试中,可以在对应的接口测试用例数据库中选择对应的接口测试用例,执行接口自动化测试。在接口自动化测试完成后,获得接口请求信息和接口响应信息,并将该测试用例当前执行过程中获得的接口请求信息与接口响应信息,与其历史执行过程中的获得的接口请求信息和接口响应信息进行比较验证,进一步验证接口测试的准确性。
可选的,当UI测试用例执行结束并获得对应的接口测试用例后,还可以对用户界面的交互能力和渲染能力进行验证。在UI自动化测试执行过程中,可以获得点击用户界面执行UI测试用例操作的时刻以及接口请求时刻,通过比较这两个时刻,可以验证用户界面的交互能力;同时,在UI自动化测试过程中,还可以获得接口的响应时刻以及用户界面接收到目标响应信息并进行渲染的时刻,通过比较这两个时刻,可以验证用户界面的渲染能力。
可选的,终端设备可以为Web客户端,Web客户端可以存储并管理生成的测试用例,测试用例包括UI测试用例和接口测试用例。该Web客户端包括Web平台和Web后台。其中,Web平台可以获取并展示UI测试用例和接口测试用例,执行UI测试用例和接口测试用例,以及展示UI测试用例和接口测试用例的执行结果。可选的,Web平台还可以选择定时、批量地执行UI测试用例或者接口测试用例。Web后台可以为Web平台的各项操作提供服务支持,同时Web后台还可以监控查看所有UI或者接口测试用例的执行状态、通过情况等。
本申请实施例提供的接口测试用例生成方法,获取UI测试过程所产生的接口调用信息,接口调用信息中包括多个请求信息和多个请求信息对应的响应信息;在多个请求信息中确定目标请求信息,以及在多个响应信息中确定目标响应信息;根据目标请求信息和目标响应信息,生成接口测试用例,接口测试用例用于进行接口自动化测试。在上述过程中,由于可以在UI自动化测试执行过程中,直接生成对应的接口测试用例,无需人工编写接口测试用例,提高了接口测试用例的编写效率。
在上述任意一个实施例的基础上,下面,结合图4,通过具体示例,对本申请实施例所示的接口测试用例生成方法进行详细说明。
图4为本申请实施例提供的一种接口测试用例生成方法的具体框架示意图。请参见图4,首先基于selenium框架编写UI测试用例,将编写好的UI测试用例存储到数据库进行管理;同时执行UI测试用例进行UI自动化测试。在进行UI自动化测试的过程中,BrowserMobProxy代理服务器启动代理服务,获取到UI测试过程中所产生的日志信息。对获取的日志信息进行解析可以获得UI测试过程中的接口调用信息,接口调用信息包括接口请求信息和接口响应信息。可以根据测试需要确定筛选条件,根据筛选条件对获得的接口调用信息进行筛选,获得目标请求信息和目标响应信息。根据获得的目标请求信息和目标响应信息进一步生成接口测试用例,并将接口测试用例存储到数据库中进行管理。同时,还可以将目标请求信息和目标响应信息与对应的UI测试用例中编写的接口请求信息和接口响应信息进行比对,从而可以实现对UI测试结果的验证。后续在执行接口自动化测试时,可以在数据库中找到对应的接口测试用例直接执行接口自动化测试。在接口自动化测试结束后,还可以将该接口测试用例的当前执行结果与数据库中存储的历史执行结果进行比对、更新,有利于保证接口自动化测试质量。
本申请实施例提供的接口测试用例生成方法,获取UI测试过程所产生的接口调用信息,接口调用信息中包括多个请求信息和多个请求信息对应的响应信息;在多个请求信息中确定目标请求信息,以及在多个响应信息中确定目标响应信息;根据目标请求信息和目标响应信息,生成接口测试用例,接口测试用例用于进行接口自动化测试。在上述过程中,由于可以在UI自动化测试执行过程中,直接生成对应的接口测试用例,无需人工编写接口测试用例,提高了接口测试用例的编写效率。
对应于上文实施例的接口测试用例生成方法,本申请实施例提供一种接口测试用例生成装置。图5为本申请实施例提供的接口测试用例生成装置的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。请参见图5,接口测试用例生成装置10包括:获取模块11、确定模块12和生成模块13,其中:
所述获取模块11用于,获取UI测试过程所产生的接口调用信息,所述接口调用信息中包括多个请求信息和所述多个请求信息对应的响应信息;
所述确定模块12用于,在所述多个请求信息中确定目标请求信息,以及在所述多个响应信息中确定目标响应信息;
所述生成模块13用于,根据所述目标请求信息和所述目标响应信息,生成接口测试用例,所述接口测试用例用于进行接口自动化测试。
在本申请的一个实施例中,所述获取模块11具体用于:
通过代理服务获取所述UI测试过程所产生的日志信息;
对所述日志信息进行解析处理,得到所述接口调用信息;
其中,所述接口调用信息中的请求信息中包括如下至少一种:接口标识、请求方法、请求链接、请求链接参数、请求包数据、请求时刻;所述接口调用信息中的响应信息包括如下至少一种:接口标识、响应码、响应报文、响应时刻。
在本申请的一个实施例中,所述获取模块11具体用于:
获取UI测试用例;
执行所述UI测试用例,以及启动所述代理服务;
在执行所述UI测试用例的过程中,通过所述代理服务获取所述日志信息。
在本申请的一个实施例中,所述获取模块11具体用于:
实例化所述代理服务,得到服务对象;
通过所述服务对象获取所述日志信息。
在本申请的一个实施例中,所述确定模块12具体用于:
确定筛选条件,所述筛选条件包括如下至少一种:请求信息的格式、关键词、请求链接;
根据所述筛选条件,在所述多个请求信息中确定所述目标请求信息;
将所述目标请求信息对应的响应信息,确定为所述目标响应信息。
在本申请的一个实施例中,所述生成模块13具体用于:
根据所述目标请求信息中的请求时刻,确定接口调用顺序;
根据每条目标请求信息和对应的目标响应信息,确定对应的接口测试条目;
按照所述接口调用顺序,对所述接口测试条目进行组装处理,得到所述接口测试用例。
本申请实施例提供的接口测试用例生成装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图6为本申请实施例提供的接口测试用例生成设备的硬件结构示意图。请参见图6,该接口测试用例生成设备20可以包括:处理器21和存储器22,其中,处理器21和存储器22可以通信;示例性的,处理器21和存储器22通过通信总线23通信,所述存储器22用于存储程序指令,所述处理器21用于调用存储器中的程序指令执行上述任意方法实施例所示的接口测试用例的生成方法。
可选的,接口测试用例生成设备20还可以包括通信接口,通信接口可以包括发送器和/或接收器。
可选的,上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例提供的接口测试用例生成设备可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本申请实施例提供一种可读存储介质,所述可读存储介质上存储有计算机程序;所述计算机程序用于实现如上述任意实施例所述的接口测试用例生成方法。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括指令,当所述指令被执行时,使得计算机执行上述接口测试用例生成方法。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppydisk)、光盘(英文:optical disc)及其任意组合。
本申请实施例是参照本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

Claims (10)

1.一种接口测试用例生成方法,其特征在于,包括:
获取用户界面UI测试过程所产生的接口调用信息,所述接口调用信息中包括多个请求信息和所述多个请求信息对应的响应信息;
在所述多个请求信息中确定目标请求信息,以及在所述多个响应信息中确定目标响应信息;
根据所述目标请求信息和所述目标响应信息,生成接口测试用例,所述接口测试用例用于进行接口自动化测试。
2.根据权利要求1所述的方法,其特征在于,获取UI测试过程所产生的接口调用信息,包括:
通过代理服务获取所述UI测试过程所产生的日志信息;
对所述日志信息进行解析处理,得到所述接口调用信息;
其中,所述接口调用信息中的请求信息中包括如下至少一种:接口标识、请求方法、请求链接、请求链接参数、请求包数据、请求时刻;所述接口调用信息中的响应信息包括如下至少一种:接口标识、响应码、响应报文、响应时刻。
3.根据权利要求2所述的方法,其特征在于,通过代理服务获取所述UI测试过程所产生的日志信息,包括:
获取UI测试用例;
执行所述UI测试用例,以及启动所述代理服务;
在执行所述UI测试用例的过程中,通过所述代理服务获取所述日志信息。
4.根据权利要求2或3所述的方法,其特征在于,通过代理服务获取所述UI测试过程所产生的日志信息,包括:
实例化所述代理服务,得到服务对象;
通过所述服务对象获取所述日志信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述多个请求信息中确定目标请求信息,以及在所述多个响应信息中确定目标响应信息,包括:
确定筛选条件,所述筛选条件包括如下至少一种:请求信息的格式、关键词、请求链接;
根据所述筛选条件,在所述多个请求信息中确定所述目标请求信息;
将所述目标请求信息对应的响应信息,确定为所述目标响应信息。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述目标请求信息中包括请求时刻;根据所述目标请求信息和所述目标响应信息,生成接口测试用例,包括:
根据所述目标请求信息中的请求时刻,确定接口调用顺序;
根据每条目标请求信息和对应的目标响应信息,确定对应的接口测试条目;
按照所述接口调用顺序,对所述接口测试条目进行组装处理,得到所述接口测试用例。
7.一种接口测试用例生成装置,其特征在于,包括:获取模块、确定模块和生成模块,其中,
所述获取模块用于,获取用户界面UI测试过程所产生的接口调用信息,所述接口调用信息中包括多个请求信息和所述多个请求信息对应的响应信息;
所述确定模块用于,在所述多个请求信息中确定目标请求信息,以及在所述多个响应信息中确定目标响应信息;
所述生成模块用于,根据所述目标请求信息和所述目标响应信息,生成接口测试用例,所述接口测试用例用于进行接口自动化测试。
8.一种接口测试用例生成设备,其特征在于,包括:处理器和存储器;
所述存储器用于,存储计算机程序;
所述处理器用于,执行所述存储器中存储的计算机程序,实现如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现权利要求1至6任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至6任一项所述的方法。
CN202210916896.2A 2022-08-01 2022-08-01 接口测试用例生成方法、装置及设备 Pending CN115145830A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210916896.2A CN115145830A (zh) 2022-08-01 2022-08-01 接口测试用例生成方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210916896.2A CN115145830A (zh) 2022-08-01 2022-08-01 接口测试用例生成方法、装置及设备

Publications (1)

Publication Number Publication Date
CN115145830A true CN115145830A (zh) 2022-10-04

Family

ID=83414396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210916896.2A Pending CN115145830A (zh) 2022-08-01 2022-08-01 接口测试用例生成方法、装置及设备

Country Status (1)

Country Link
CN (1) CN115145830A (zh)

Similar Documents

Publication Publication Date Title
CN109582588B (zh) 测试用例生成方法、装置及电子设备
CN106484611B (zh) 基于自动化协议适配的模糊测试方法和装置
CN111552633A (zh) 接口的异常调用测试方法、装置、计算机设备及存储介质
CN107483567B (zh) 一种分布式日志搜索的方法及系统
CN115065652B (zh) 消息回复方法、装置、存储介质及计算机设备
CN110569159A (zh) 挡板生成方法、装置、设备及计算机存储介质
CN110716848A (zh) 数据收集方法、装置、电子设备及存储介质
CN109062807B (zh) 测试应用程序的方法及装置、存储介质、电子装置
US20170337208A1 (en) Collecting test results in different formats for storage
CN107295082A (zh) 软件运行处理方法、装置及系统
CN112988608A (zh) 数据测试方法、装置、计算机设备及存储介质
CN111290951A (zh) 测试方法、终端、服务器、系统及存储介质
CN107168844B (zh) 一种性能监控的方法及装置
CN116204438A (zh) 测试用例生成方法、自动化测试方法和相关装置
CN110515514B (zh) 一种数据处理方法、装置及存储介质
CN111767229A (zh) 性能测试方法、装置和设备
CN112965912B (zh) 接口测试用例生成方法、装置和电子设备
CN113806216A (zh) 接口测试方法、装置、介质及设备
CN110874278A (zh) 外部系统的嵌入方法、工作流系统、设备及存储介质
CN107483294B (zh) 监控网络请求的方法及装置
CN115145830A (zh) 接口测试用例生成方法、装置及设备
CN116166533A (zh) 接口测试方法、装置、终端设备以及存储介质
CN111522748B (zh) 一种自动化测试案例生成方法、装置、服务器及存储介质
CN114817024A (zh) 用例生成方法及装置、设备、存储介质
CN111240967B (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