CN115374018B - 一种自动化接口测试方法和装置 - Google Patents

一种自动化接口测试方法和装置 Download PDF

Info

Publication number
CN115374018B
CN115374018B CN202211315988.1A CN202211315988A CN115374018B CN 115374018 B CN115374018 B CN 115374018B CN 202211315988 A CN202211315988 A CN 202211315988A CN 115374018 B CN115374018 B CN 115374018B
Authority
CN
China
Prior art keywords
component
interface
test
target
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.)
Active
Application number
CN202211315988.1A
Other languages
English (en)
Other versions
CN115374018A (zh
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.)
Sichuan Shutian Information Technology Co ltd
Original Assignee
Sichuan Shutian Information Technology 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 Sichuan Shutian Information Technology Co ltd filed Critical Sichuan Shutian Information Technology Co ltd
Priority to CN202211315988.1A priority Critical patent/CN115374018B/zh
Publication of CN115374018A publication Critical patent/CN115374018A/zh
Application granted granted Critical
Publication of CN115374018B publication Critical patent/CN115374018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Tests Of Electronic Circuits (AREA)

Abstract

一种自动化接口测试方法和装置,涉及计算机技术领域,该方法包括:利用第一组件从目标文件中读取用于测试目标接口的测试用例,测试用例基于预设规则在目标文件中被预先配置好;对测试用例进行解析,得到用于请求目标接口的请求参数和目标接口的预期返回数据;根据请求参数,利用第二组件对目标接口进行请求,得到目标接口的实际返回数据;将实际返回数据与预期返回数据进行比较,从而确定目标接口的测试结果;利用第一组件将实际返回数据和测试结果写入目标文件中,从而更新目标文件;根据更新后的目标文件生成接口测试报告,目标文件存储于第一存储区域,第一组件和第二组件封装于第二存储区域。

Description

一种自动化接口测试方法和装置
技术领域
本公开涉及计算机技术领域,具体涉及一种自动化接口测试方法和装置。
背景技术
在目前的网络环境下,绝大多数的web、App等网络应用程序,都是采用Rest(Representational State Transfer,表现层状态转移) API(Application ProgrammingInterface,应用程序接口)接口方式。同时,在目前敏捷开发盛行的大环境下,软件开发项目必须适应快速迭代的节奏,并且能够拥抱变化,这导致在软件变化如此之快的情况下,除了软件开发人员之外,测试人员也面临挑战,因为每次软件接口变化后,测试用例都需要重新调整覆盖,这大大增加了测试的工作难度。
为了节省重复测试的成本,保证已完成功能的正确性和软件运行的稳定性,自动化接口测试就成为软件开发项目中不可或缺的环节。因此,如何进行易用、有用并且契合项目本身的自动化接口测试,是所有的测试人员都需要解决的问题。
发明内容
本公开目的在于提供一种自动化接口测试方法和装置,以至少解决部分的上述问题。
根据本公开的一方面,提供一种自动化接口测试方法,包括:利用第一Python组件从目标Excel文件中读取用于测试目标接口的测试用例,其中,所述测试用例基于预设规则在所述目标Excel文件中被预先配置好;对所述测试用例进行解析,得到用于请求所述目标接口的请求参数和所述目标接口的预期返回数据;根据所述请求参数,利用第二Python组件对所述目标接口进行请求,得到所述目标接口的实际返回数据;将所述实际返回数据与所述预期返回数据进行比较,从而确定所述目标接口的测试结果;利用所述第一Python组件将所述实际返回数据和所述测试结果写入所述目标Excel文件中,从而更新所述目标Excel文件;根据更新后的所述目标Excel文件生成接口测试报告,其中,所述目标Excel文件存储于第一存储区域,所述第一Python组件和所述第二Python组件封装于第二存储区域,所述第一存储区域与所述第二存储区域之间相互隔离。
可选地,所述第一Python组件包括xlrd/xlwt组件、openpyxl组件和pandas组件中的至少一个。
可选地,所述测试用例包括多个字段,所述多个字段包括请求地址字段、请求内容字段、请求方式字段和预期返回数据字段,所述请求参数包括请求地址、请求内容和请求方式,其中,所述对所述测试用例进行解析,得到用于请求目标接口的请求参数和所述目标接口的预期返回数据,包括:通过正则匹配的方式对所述多个字段中的每个字段进行解析,从而分别得到所述请求地址、所述请求内容、所述请求方式和所述预期返回数据。
可选地,所述第二Python组件包括requests组件,其中,所述利用第二Python组件对所述目标接口进行请求,包括:利用所述requests组件模拟http接口请求,并基于所述http接口请求对所述目标接口进行请求。
可选地,所述确定所述目标接口的测试结果,包括:在所述实际返回数据与所述预期返回数据一致的情况下,确定所述目标接口通过测试,并生成第一标识作为所述测试结果,其中,所述第一标识用于指示所述目标接口通过测试;在所述实际返回数据与所述预期返回数据不一致的情况下,确定所述目标接口未通过测试,并生成第二标识作为所述测试结果,其中,所述第二标识用于指示所述目标接口未通过测试。
可选地,所述第二标识包括失败标识、异常标识和错误标识,其中,所述生成第二标识作为所述测试结果,包括:确定所述实际返回数据是否为正常数据;在所述实际返回数据为正常数据的情况下,生成所述失败标识作为所述测试结果;在所述实际返回数据为异常数据的情况下,生成所述异常标识作为所述测试结果,其中,在所述实际返回数据指示所述请求参数或所述预期返回数据出现错误的情况下,生成所述错误标识作为所述测试结果。
可选地,在根据所述测试后的目标Excel文件生成接口测试报告后,还包括:利用第三Python组件,对所述接口测试报告进行可视化展示;和/或,利用第四Python组件,将所述接口测试报告通过邮件的形式发送至目标邮箱,其中,所述第三Python组件和/或所述第四Python组件封装于所述第二存储区域,其中,所述第三Python组件包括Matplotlib组件、Seaborn组件和ggplot组件中的至少一个,所述第四Python组件包括smtplib组件和email组件。
可选地,所述第一存储区域对应于至少一份第一备份数据,所述第二存储区域对应于至少一份第二备份数据,其中,所述第一备份数据用于对所述第一存储区域进行还原,所述第二备份数据用于对所述第二存储区域进行还原。
根据本公开的另一方面,提供一种自动化接口测试装置,包括:数据读取单元,被配置为利用第一Python组件从目标Excel文件中读取用于测试目标接口的测试用例,其中,所述测试用例基于预设规则在所述目标Excel文件中被预先配置好;参数解析单元,被配置为对所述测试用例进行解析,得到用于请求目标接口的请求参数和所述目标接口的预期返回数据;接口请求单元,被配置为根据所述请求参数,利用第二Python组件对所述目标接口进行请求,得到所述目标接口的实际返回数据;结果确定单元,被配置为将所述实际返回数据与所述预期返回数据进行比较,从而确定所述目标接口的测试结果;数据写入单元,被配置为利用所述第一Python组件将所述实际返回数据和所述测试结果写入所述目标Excel文件中,从而更新所述目标Excel文件;报告生成单元,被配置为根据更新后的所述目标Excel文件生成接口测试报告,其中,所述目标Excel文件存储于第一存储区域,所述第一Python组件和所述第二Python组件封装于第二存储区域,所述第一存储区域与所述第二存储区域之间相互隔离。
根据本公开的另一方面,提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如上所述的自动化接口测试方法。
本公开与现有技术相比,具有如下的优点和有益效果:
根据本公开实施例的自动化接口测试方法和装置,能够通过Excel文件统一管理测试用例和测试结果,使得测试人员能按照具体项目的特点,依据预设规则简单编写好测试用例,再结合各个Python组件自动确定所有测试用例对应的测试结果,即使在软件变化后接口有所改动,也能够通过在Excel文件中简单快速地调整测试用例,从而高效地进行回归测试,减少在回归测试中所浪费的时间,使得软件应用更加稳定,健壮。另外,根据本公开实施例的自动化接口测试方法和装置,通过将Excel文件与各个Python组件存储封装于不同区域并进行隔离,使得用于接口测试的测试用例部分与Python代码执行部分能够分开维护,一方面对测试人员管理Excel文件中的测试用例提供了便利,另一方面避免了Python代码执行错误时对测试用例的不利影响,同时,即使在接口测试时受到安全性攻击,也能保证Excel文件中的测试用例的安全和稳定,减少了重复性地维护工作。
将在接下来的描述中部分阐述本公开总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本公开总体构思的实施而得知。
附图说明
通过结合附图,从实施例的下面描述中,本公开这些和/或其它方面及优点将会变得清楚,并且更易于理解,其中:
图1是示出根据本公开实施例的自动化接口测试方法的流程图;
图2是示出根据本公开实施例的自动化接口测试装置的框图。
具体实施方式
提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并且不限于在此阐述的那些顺序,而是除了必须以特定的顺序发生的操作之外,可如在理解本申请的公开之后将是清楚的那样被改变。此外,为了更加清楚和简明,本领域已知的特征的描述可被省略。
在此描述的特征可以以不同的形式来实现,而不应被解释为限于在此描述的示例。相反,已提供在此描述的示例,以仅示出实现在此描述的方法、设备和/或系统的许多可行方式中的一些可行方式,所述许多可行方式在理解本申请的公开之后将是清楚的。
下面将参照图1和图2对根据本公开实施例的自动化接口测试方法和装置进行详细描述。
图1是示出根据本公开实施例的自动化接口测试方法的流程图。
参照图1,在步骤S101中,可利用第一Python组件从目标Excel文件中读取用于测试目标接口的测试用例。这里,测试用例可基于预设规则在目标Excel文件中被预先配置好。进一步地,第一Python组件可包括xlrd/xlwt组件、openpyxl组件和pandas组件中的至少一个。更进一步地,测试用例可包括多个字段,从而可通过在目标Excel文件中对多个字段分别进行编写或调整来配置测试用例,作为示例,多个字段可包括请求地址字段、请求内容字段、请求方式字段和预期返回数据字段。通过设置多个字段来表示测试用例,能够与Excel文件的特性相结合,便于利用Excel文件来管理测试用例。
接下来,在步骤S102中,可对测试用例进行解析,得到用于请求目标接口的请求参数和目标接口的预期返回数据。这里,请求参数可包括请求地址、请求内容和请求方式。进一步地,可通过正则匹配的方式对多个字段中的每个字段进行解析,从而分别得到请求地址、请求内容、请求方式和预期返回数据,然而本公开不限于此,本领域技术人员可根据实际情况确定各个字段解析方式,例如,还可构建反映字符和参数之间对应关系的字典,使各个字段中的字符与特定的请求参数或预期返回数据相对应,从而通过字典匹配的方式对各个字段进行解析。
接下来,在步骤S103中,可根据请求参数,利用第二Python组件对目标接口进行请求,得到目标接口的实际返回数据。这里,第二Python组件可包括requests组件,从而可利用requests组件模拟http接口请求,并基于http接口请求对目标接口进行请求。
接下来,在步骤S104中,可将实际返回数据与预期返回数据进行比较,从而确定目标接口的测试结果。这里,在实际返回数据与预期返回数据一致的情况下,可确定目标接口通过测试,并生成第一标识作为测试结果;在实际返回数据与预期返回数据不一致的情况下,可确定目标接口未通过测试,并生成第二标识作为测试结果。进一步地,第一标识可用于指示目标接口通过测试,第二标识可用于指示所述目标接口未通过测试。更进一步地,第二标识可包括失败标识、异常标识和错误标识,在此基础上,在确定目标接口未通过测试后,可确定实际返回数据是否为正常数据,从而在实际返回数据为正常数据的情况下,可生成失败标识作为测试结果;在实际返回数据为异常数据的情况下,可生成异常标识作为测试结果,这里,在实际返回数据指示请求参数或预期返回数据出现错误的情况下,可生成错误标识作为测试结果。应理解,上述第一标识、第二标识、失败标识、异常标识和错误标识可由本领域技术人员根据实际情况来确定,以对不同的测试结果进行区分,本公开对此不做限制。
接下来,在步骤S105中,可利用第一Python组件将实际返回数据和测试结果写入目标Excel文件中,从而更新目标Excel文件。
下述表1是示出根据本公开实施例的目标Excel文件的表格内容示例,应理解,本领域技术人员可根据实际情况对目标Excel文件的表格形式和内容进行调整,本公开对此不做限制。
表1 目标Excel文件的表格内容示例
Figure 291714DEST_PATH_IMAGE002
接下来,在步骤S106中,可根据更新后的目标Excel文件生成接口测试报告。这里,在根据测试后的目标Excel文件生成接口测试报告后,还可利用第三Python组件,对接口测试报告进行可视化展示;和/或,利用第四Python组件,将接口测试报告通过邮件的形式发送至目标邮箱。这里,第三Python组件可包括Matplotlib组件、Seaborn组件和ggplot组件中的至少一个,第四Python组件包括smtplib组件和email组件。应理解,用于对接口测试报告进行可视化展示的第三Python组件也可由本领域技术人员根据实际需求来封装,以使接口测试报告更加易懂,测试出错后可以尽快排查相关原因。
根据本公开的实施例,目标Excel文件可存储于第一存储区域,第一Python组件和第二Python组件可封装于第二存储区域,并且第一存储区域与第二存储区域之间相互隔离。在此基础上,第三Python组件和/或第四Python组件也可封装于第二存储区域。这里,第一存储区域与第二存储区域可在物理层面上进行存储隔离,例如,分别在不同的硬件设备中配置第一存储区域和第二存储区域;或者,第一存储区域与第二存储区域也可在逻辑层面上进行存储隔离,例如,在同一硬件上分配不同的逻辑隔离区域,并在不同的逻辑隔离区域中配置第一存储区域和第二存储区域。进一步地,第一存储区域对应于至少一份第一备份数据,第二存储区域对应于至少一份第二备份数据,从而第一备份数据可用于对第一存储区域进行还原,第二备份数据可用于对第二存储区域进行还原。通过将Excel文件与各个Python组件存储封装于不同区域并进行隔离,再分别建立不同区域各自的备份数据,使得用于接口测试的测试用例部分与Python代码执行部分能够基于各自的备份数据分别进行维护,大大提高了自动化接口测试的可靠性。
图2是示出根据本公开实施例的自动化接口测试装置的框图。根据本公开实施例的自动化接口测试装置可以在具有足够运算能力的计算装置中实现。
参照图2,自动化接口测试装置200可包括数据读取单元210、参数解析单元220、接口请求单元230、结果确定单元240、数据写入单元250和报告生成单元260。
数据读取单元210可利用第一Python组件从目标Excel文件中读取用于测试目标接口的测试用例。这里,测试用例可基于预设规则在目标Excel文件中被预先配置好。
参数解析单元220可对测试用例进行解析,得到用于请求目标接口的请求参数和目标接口的预期返回数据。
接口请求单元230可根据请求参数,利用第二Python组件对目标接口进行请求,得到目标接口的实际返回数据。
结果确定单元240可将实际返回数据与预期返回数据进行比较,从而确定目标接口的测试结果。
数据写入单元250可利用第一Python组件将实际返回数据和测试结果写入目标Excel文件中,从而更新目标Excel文件。
报告生成单元260可根据更新后的目标Excel文件生成接口测试报告。
这里,目标Excel文件存储于第一存储区域,第一Python组件和第二Python组件封装于第二存储区域,第一存储区域与第二存储区域之间相互隔离。进一步地,第一存储区域对应于至少一份第一备份数据,第二存储区域对应于至少一份第二备份数据,这里,第一备份数据可用于对第一存储区域进行还原,第二备份数据可用于对第二存储区域进行还原。
根据本公开的实施例,第一Python组件可包括xlrd/xlwt组件、openpyxl组件和pandas组件中的至少一个。
根据本公开的实施例,测试用例可包括多个字段,多个字段可包括请求地址字段、请求内容字段、请求方式字段和预期返回数据字段,请求参数可包括请求地址、请求内容和请求方式。这里,参数解析单元220可通过正则匹配的方式对多个字段中的每个字段进行解析,从而分别得到请求地址、请求内容、请求方式和预期返回数据。
根据本公开的实施例,第二Python组件可包括requests组件。这里,接口请求单元230可利用requests组件模拟http接口请求,并基于http接口请求对目标接口进行请求。
根据本公开的实施例,结果确定单元240可在实际返回数据与预期返回数据一致的情况下,确定目标接口通过测试,并生成第一标识作为测试结果,这里,第一标识可用于指示目标接口通过测试;结果确定单元240可在实际返回数据与预期返回数据不一致的情况下,确定目标接口未通过测试,并生成第二标识作为测试结果,这里,第二标识可用于指示目标接口未通过测试。
根据本公开的实施例,第二标识可包括失败标识、异常标识和错误标识。这里,结果确定单元240可确定实际返回数据是否为正常数据,在实际返回数据为正常数据的情况下,生成失败标识作为测试结果,在实际返回数据为异常数据的情况下,生成异常标识作为测试结果,进一步地,在实际返回数据指示请求参数或预期返回数据出现错误的情况下,生成错误标识作为测试结果。
根据本公开的实施例,自动化接口测试装置200还可包括报告展示单元(未示出)和/或报告发送单元(未示出)。报告展示单元可利用第三Python组件,对接口测试报告进行可视化展示,这里,第三Python组件可包括Matplotlib组件、Seaborn组件和ggplot组件中的至少一个。报告发送单元可利用第四Python组件,将接口测试报告通过邮件的形式发送至目标邮箱,这里,第四Python组件可包括smtplib组件和email组件。
根据本公开实施例的自动化接口测试方法和装置,能够通过Excel文件统一管理测试用例和测试结果,使得测试人员能按照具体项目的特点,依据预设规则简单编写好测试用例,再结合各个Python组件自动确定所有测试用例对应的测试结果,即使在软件变化后接口有所改动,也能够通过在Excel文件中简单快速地调整测试用例,从而高效地进行回归测试,减少在回归测试中所浪费的时间,使得软件应用更加稳定,健壮。另外,根据本公开实施例的自动化接口测试方法和装置,通过将Excel文件与各个Python组件存储封装于不同区域并进行隔离,使得用于接口测试的测试用例部分与Python代码执行部分能够分开维护,一方面对测试人员管理Excel文件中的测试用例提供了便利,另一方面避免了Python代码执行错误时对测试用例的不利影响,同时,即使在接口测试时受到安全性攻击,也能保证Excel文件中的测试用例的安全和稳定,减少了重复性地维护工作。
以上已参照图1和图2描述了根据本公开实施例的自动化接口测试方法和装置。
图2所示出的自动化接口测试装置中的各个单元可被配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,各个单元可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,各个单元所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
此外,参照图1所描述的自动化接口测试方法可通过记录在计算机可读存储介质上的程序(或指令)来实现。例如,根据本公开的实施例,可提供存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行根据本公开的自动化接口测试方法。
上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,计算机程序还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经在参照图1进行相关方法的描述过程中提及,因此这里为了避免重复将不再进行赘述。
应注意,根据本公开实施例的自动化接口测试装置中的各个单元可完全依赖计算机程序的运行来实现相应的功能,即,各个单元在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
另一方面,图2所示的各个单元也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
以上描述了本公开的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本公开不限于所披露的各示例性实施例。在不偏离本公开的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本公开的保护范围应该以权利要求的范围为准。

Claims (5)

1.一种自动化接口测试方法,其特征在于,包括以下步骤:
步骤S101、利用第一Python组件从目标Excel文件中读取用于测试目标接口的测试用例,其中,所述测试用例基于预设规则在所述目标Excel文件中被预先配置好;所述测试用例包括多个字段,所述多个字段包括请求地址字段、请求内容字段、请求方式字段和预期返回数据字段;
步骤S102、对所述测试用例进行解析,得到用于请求所述目标接口的请求参数和所述目标接口的预期返回数据;所述请求参数包括请求地址、请求内容和请求方式;其中,对所述测试用例进行解析包括:通过正则匹配的方式对所述多个字段中的每个字段进行解析,从而分别得到所述请求地址、所述请求内容、所述请求方式和所述预期返回数据;在对所述多个字段中的每个字段进行解析时,通过构建反映各个字段的字符和请求参数之间对应关系的字典,使各个字段中的字符与特定的请求参数或预期返回数据相对应,从而通过字典匹配的方式对各个字段进行解析;
步骤S103、根据所述请求参数,利用第二Python组件对所述目标接口进行请求,得到所述目标接口的实际返回数据;其中,所述第二Python组件包括requests组件,在利用第二Python组件对所述目标接口进行请求时,利用所述requests组件模拟http接口请求,并基于所述http接口请求对所述目标接口进行请求;
步骤S104、将所述实际返回数据与所述预期返回数据进行比较,从而确定所述目标接口的测试结果;其中,确定所述目标接口的测试结果包括:在所述实际返回数据与所述预期返回数据一致的情况下,确定所述目标接口通过测试,并生成第一标识作为所述测试结果,在所述实际返回数据与所述预期返回数据不一致的情况下,确定所述目标接口未通过测试,并生成第二标识作为所述测试结果,其中,所述第一标识用于指示所述目标接口通过测试,所述第二标识用于指示所述目标接口未通过测试,所述第二标识包括失败标识、异常标识和错误标识;在确定目标接口未通过测试后,确定实际返回数据是否为正常数据,并且,在实际返回数据为正常数据的情况下,生成失败标识作为测试结果;在实际返回数据为异常数据的情况下,生成异常标识作为测试结果,在实际返回数据指示请求参数或预期返回数据出现错误的情况下,生成错误标识作为测试结果;
步骤S105、利用所述第一Python组件将所述实际返回数据和所述测试结果写入所述目标Excel文件中,从而更新所述目标Excel文件;
步骤S106、根据更新后的所述目标Excel文件生成接口测试报告;
其中,所述目标Excel文件存储于第一存储区域,其统一管理测试用例和测试结果;所述第一Python组件和所述第二Python组件封装于第二存储区域,所述第一存储区域与所述第二存储区域之间相互隔离;所述第一存储区域对应于至少一份第一备份数据,所述第二存储区域对应于至少一份第二备份数据,并且其中,所述第一备份数据用于对所述第一存储区域进行还原,所述第二备份数据用于对所述第二存储区域进行还原;通过将目标Excel文件与各个Python组件存储封装于不同区域并进行隔离,再分别建立不同区域各自的备份数据,使得用于接口测试的测试用例部分与Python代码执行部分能够基于各自的备份数据分别进行维护,进而提高自动化接口测试的可靠性。
2.如权利要求1所述的一种自动化接口测试方法,其特征在于,所述第一Python组件包括xlrd/xlwt组件、openpyxl组件和pandas组件中的至少一个。
3.如权利要求1所述的一种自动化接口测试方法,其特征在于,在根据所述更新后的目标Excel文件生成接口测试报告后,还包括:
利用第三Python组件,对所述接口测试报告进行可视化展示;和/或,
利用第四Python组件,将所述接口测试报告通过邮件的形式发送至目标邮箱,
其中,所述第三Python组件和/或所述第四Python组件封装于所述第二存储区域,
其中,所述第三Python组件包括Matplotlib组件、Seaborn组件和ggplot组件中的至少一个,所述第四Python组件包括smtplib组件和email组件。
4.一种自动化接口测试装置,其特征在于,包括:
数据读取单元,被配置为利用第一Python组件从目标Excel文件中读取用于测试目标接口的测试用例,其中,所述测试用例基于预设规则在所述目标Excel文件中被预先配置好;
参数解析单元,被配置为对所述测试用例进行解析,得到用于请求目标接口的请求参数和所述目标接口的预期返回数据;
接口请求单元,被配置为根据所述请求参数,利用第二Python组件对所述目标接口进行请求,得到所述目标接口的实际返回数据;
结果确定单元,被配置为将所述实际返回数据与所述预期返回数据进行比较,从而确定所述目标接口的测试结果;
数据写入单元,被配置为利用所述第一Python组件将所述实际返回数据和所述测试结果写入所述目标Excel文件中,从而更新所述目标Excel文件;
报告生成单元,被配置为根据更新后的所述目标Excel文件生成接口测试报告,
其中,所述目标Excel文件存储于第一存储区域,所述第一Python组件和所述第二Python组件封装于第二存储区域,所述第一存储区域与所述第二存储区域之间相互隔离;
自动化接口测试装置(200)还包括报告展示单元和/或报告发送单元,报告展示单元能够利用第三Python组件对接口测试报告进行可视化展示,第三Python组件包括Matplotlib组件、Seaborn组件和ggplot组件中的至少一个,报告发送单元能够利用第四Python组件将接口测试报告通过邮件的形式发送至目标邮箱,第四Python组件包括smtplib组件和email组件;
所述第一存储区域对应于至少一份第一备份数据,所述第二存储区域对应于至少一份第二备份数据,其中,所述第一备份数据用于对所述第一存储区域进行还原,所述第二备份数据用于对所述第二存储区域进行还原;通过将Excel文件与各个Python组件存储封装于不同区域并进行隔离,再分别建立不同区域各自的备份数据,使得用于接口测试的测试用例部分与Python代码执行部分能够基于各自的备份数据分别进行维护,进而提高自动化接口测试的可靠性。
5.一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至3中的任一权利要求所述的自动化接口测试方法。
CN202211315988.1A 2022-10-26 2022-10-26 一种自动化接口测试方法和装置 Active CN115374018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211315988.1A CN115374018B (zh) 2022-10-26 2022-10-26 一种自动化接口测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211315988.1A CN115374018B (zh) 2022-10-26 2022-10-26 一种自动化接口测试方法和装置

Publications (2)

Publication Number Publication Date
CN115374018A CN115374018A (zh) 2022-11-22
CN115374018B true CN115374018B (zh) 2023-07-14

Family

ID=84074126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211315988.1A Active CN115374018B (zh) 2022-10-26 2022-10-26 一种自动化接口测试方法和装置

Country Status (1)

Country Link
CN (1) CN115374018B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902017A (zh) * 2019-03-06 2019-06-18 厦门商集网络科技有限责任公司 一种基于RobotFramework测试Dubbo接口的方法及终端
CN114546842A (zh) * 2022-02-09 2022-05-27 青岛海尔科技有限公司 接口测试方法、装置和存储介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916231B2 (en) * 2015-07-17 2018-03-13 Magine Holding AB Modular plug-and-play system for continuous model driven testing
CN110096434A (zh) * 2019-03-28 2019-08-06 咪咕文化科技有限公司 一种接口测试方法及装置
CN110297774B (zh) * 2019-07-02 2022-08-19 四川长虹电器股份有限公司 一种基于python的接口自动化测试方法
CN113778896A (zh) * 2021-09-26 2021-12-10 杭州安恒信息技术股份有限公司 一种接口的测试方法、装置、设备及介质
CN113971110A (zh) * 2021-10-26 2022-01-25 招商银行股份有限公司 接口测试方法、装置、设备与计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902017A (zh) * 2019-03-06 2019-06-18 厦门商集网络科技有限责任公司 一种基于RobotFramework测试Dubbo接口的方法及终端
CN114546842A (zh) * 2022-02-09 2022-05-27 青岛海尔科技有限公司 接口测试方法、装置和存储介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于Testng的Web接口测试的自动化框架设计与实现";蒋灵仙;《中国优秀硕士学位论文全文数据库信息科技辑》;第I138-807页 *

Also Published As

Publication number Publication date
CN115374018A (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
US10055338B2 (en) Completing functional testing
Yin et al. An empirical study on configuration errors in commercial and open source systems
US9514036B1 (en) Test case generation
US20100275062A1 (en) Functional Coverage Using Combinatorial Test Design
US20090044053A1 (en) Method, computer system, and computer program product for problem determination using system run-time behavior analysis
US20080276225A1 (en) Testing Executable Logic
EP3470988A1 (en) Method for replicating production behaviours in a development environment
CN111694612A (zh) 配置检查方法、装置、计算机系统及存储介质
US20100312541A1 (en) Program test device and program
CN110851352A (zh) 一种模糊测试系统及终端设备
CN113742215B (zh) 一种自动配置和调用测试工具进行测试分析的方法及系统
CN112306568A (zh) 服务实例配置方法、装置、电子设备及存储介质
CN111694684A (zh) 存储设备的异常构造方法、装置、电子设备及存储介质
CN112988578A (zh) 一种自动化测试方法和装置
CN115374018B (zh) 一种自动化接口测试方法和装置
CN111884858A (zh) 设备资产信息的校验方法、装置、系统和介质
CN113238940B (zh) 一种接口测试结果的比对方法、装置、设备和存储介质
CN115480970A (zh) 一种性能测试方法、装置、设备及存储介质
Xu et al. Real-Time Diagnosis of Configuration Errors for Software of AI Server Infrastructure
CN111475400A (zh) 一种业务平台的验证方法及相关设备
CN115640236B (zh) 一种脚本质量的检测方法及计算设备
CN112256554B (zh) 一种基于场景测试用例进行测试的方法及设备
CN113157594B (zh) 一种用户权限测试方法、装置、电子设备及存储介质
CN112650679B (zh) 一种测试校验方法、装置及计算机系统
US7840945B2 (en) Software resource testing

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