CN116107892A - 自动化测试方法、装置、设备及存储介质 - Google Patents

自动化测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116107892A
CN116107892A CN202310105434.7A CN202310105434A CN116107892A CN 116107892 A CN116107892 A CN 116107892A CN 202310105434 A CN202310105434 A CN 202310105434A CN 116107892 A CN116107892 A CN 116107892A
Authority
CN
China
Prior art keywords
test
test case
target
node
target node
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
CN202310105434.7A
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 Geely Holding Group Co Ltd
Zhejiang Zeekr Intelligent Technology Co Ltd
Original Assignee
Zhejiang Geely Holding Group Co Ltd
Zhejiang Zeekr Intelligent 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 Zhejiang Geely Holding Group Co Ltd, Zhejiang Zeekr Intelligent Technology Co Ltd filed Critical Zhejiang Geely Holding Group Co Ltd
Priority to CN202310105434.7A priority Critical patent/CN116107892A/zh
Publication of CN116107892A publication Critical patent/CN116107892A/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/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/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/3696Methods or tools to render software testable
    • 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

本申请提供一种自动化测试方法、装置、设备及存储介质,涉及自动化测试技术领域,通过在工具显示界面中显示基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的树形结构,和用于触发自动化测试的第一功能按钮,响应于作用于树形结构中目标节点的选中操作,确定目标节点,该目标节点为根节点或子节点,响应于作用于第一功能按钮的触发操作,执行目标节点对应的测试用例方法。通过在工具显示界面中显示用于反映目标测试用例根目录文件夹中文件的层级关系的树形结构和用于触发自动化测试的第一功能按钮,实现测试用例的离线可视化配置及执行触发,提高测试效率。

Description

自动化测试方法、装置、设备及存储介质
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种自动化测试方法、装置、设备及存储介质。
背景技术
自动化测试是将以人为驱动的测试行为转化为机器执行的一种过程,在测试中占有重要地位。
相关技术在进行自动化测试时,测试人员需要先逐个查找并确认测试点,进一步根据测试点选择测试用例,并在代码中触发执行测试用例或通过命令行触发执行测试用例。这样,随着测试用例的增加,对大批量测试用例进行自动化测试时,仍存在测试效率较低的问题。
发明内容
本申请提供一种自动化测试方法、装置、设备及存储介质,用以解决对大批量测试用例进行自动化测试时,测试效率较低的问题。
第一方面,本申请提供一种自动化测试方法,包括:在工具显示界面中显示树形结构和用于触发自动化测试的第一功能按钮,该树形结构是基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的,树形结构中根节点对应目标测试用例根目录文件夹,根节点下包含多级子节点,多级子节点分别依次对应目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法,测试用例方法为测试用例对应的测试代码或测试脚本;响应于作用于树形结构中目标节点的选中操作,确定目标节点,该目标节点为根节点或子节点;响应于作用于第一功能按钮的触发操作,执行目标节点对应的测试用例方法。
一种可能的实现方式中,在确定目标节点之后,还包括:根据目标节点,确定可执行路径,该可执行路径为测试类的可执行路径或测试用例方法的可执行路径;执行目标节点对应的测试用例方法,包括:根据可执行路径执行目标节点对应的测试用例方法。
一种可能的实现方式中,根据目标节点,确定可执行路径,包括:若目标节点为测试类下的全部测试用例方法对应的子节点,则确定可执行路径为测试类的可执行路径;若目标节点为测试类下的部分测试用例方法对应的子节点,则确定可执行路径为部分测试用例方法的可执行路径。
一种可能的实现方式中,根据可执行路径执行目标节点对应的测试用例方法,包括:生成包含可执行路径的测试指令;向服务端发送测试指令,该测试指令用于指示服务端根据可执行路径执行目标节点对应的测试用例方法。
一种可能的实现方式中,向服务端发送测试指令之后,还包括:接收来自服务端的执行日志,执行日志为服务端在执行目标节点对应的测试用例方法过程中生成的日志;存储执行日志,和/或,通过pyqtSignal类实现自定义信号,在工具显示界面中显示执行日志。
一种可能的实现方式中,在确定目标节点之后,还包括:显示目标节点的下拉框,该下拉框中包含测试框架类型,测试框架类型包括Pytest测试框架和UnitTest测试框架;响应于下拉框中目标测试框架类型的选中操作,确定目标测试框架类型;对应地,执行目标节点对应的测试用例方法,还包括:采用目标测试框架类型执行目标节点对应的测试用例方法。
一种可能的实现方式中,层级关系是通过以下方式确定的:获取目标测试用例根目录文件夹;解析得到目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法。
一种可能的实现方式中,获取目标测试用例根目录文件夹,包括:响应于自动化测试工具的启动操作,显示自动化测试工具的工具显示界面,工具显示界面中包含第二功能按钮和第三功能按钮,该第二功能按钮用于添加测试用例根目录文件夹,第三功能按钮用于更新或解析所添加的测试用例根目录文件夹;响应于作用于第二功能按钮的交互操作,获取目标测试用例根目录文件夹。
第二方面,本申请提供一种自动化测试装置,包括:显示模块,用于在工具显示界面中显示树形结构和用于触发自动化测试的第一功能按钮,该树形结构是基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的,树形结构中根节点对应目标测试用例根目录文件夹,根节点下包含多级子节点,多级子节点分别依次对应目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法,测试用例方法为测试用例对应的测试代码或测试脚本;确定模块,用于在作用于树形结构中目标节点的选中操作时,确定目标节点,该目标节点为根节点或子节点;执行模块,用于在作用于第一功能按钮的触发操作时,执行目标节点对应的测试用例方法。
一种可能的实现方式中,确定模块还可以用于:根据目标节点,确定可执行路径,该可执行路径为测试类的可执行路径或测试用例方法的可执行路径;执行模块具体用于:根据可执行路径执行目标节点对应的测试用例方法。
一种可能的实现方式中,确定模块还可以用于:若目标节点为测试类下的全部测试用例方法对应的子节点,则确定可执行路径为测试类的可执行路径;若目标节点为测试类下的部分测试用例方法对应的子节点,则确定可执行路径为部分测试用例方法的可执行路径。
一种可能的实现方式中,执行模块还可以用于:生成包含可执行路径的测试指令;向服务端发送测试指令,该测试指令用于指示服务端根据可执行路径执行目标节点对应的测试用例方法。
一种可能的实现方式中,该自动化测试装置还包括接收模块,该接收模块用于:接收来自服务端的执行日志,执行日志为服务端在执行目标节点对应的测试用例方法过程中生成的日志;存储执行日志,和/或,通过pyqtSignal类实现自定义信号,在工具显示界面中显示执行日志。
一种可能的实现方式中,确定模块还可以用于:显示目标节点的下拉框,该下拉框中包含测试框架类型,测试框架类型包括Pytest测试框架和UnitTest测试框架;响应于下拉框中目标测试框架类型的选中操作,确定目标测试框架类型;对应地,执行模块还可以具体用于:采用目标测试框架类型执行目标节点对应的测试用例方法。
一种可能的实现方式中,该自动化测试装置还包括解析模块,该解析模块用于:获取目标测试用例根目录文件夹;解析得到目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法。
一种可能的实现方式中,解析模块还可以用于:响应于自动化测试工具的启动操作,显示自动化测试工具的工具显示界面,工具显示界面中包含第二功能按钮和第三功能按钮,该第二功能按钮用于添加测试用例根目录文件夹,第三功能按钮用于更新或解析所添加的测试用例根目录文件夹;响应于作用于第二功能按钮的交互操作,获取目标测试用例根目录文件夹。
第三方面,本申请提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器连接的存储器;其中,存储器用于存储至少一个处理器可执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面提供的自动化用例测试方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,计算机执行指令被执行时用于实现第一方面提供的自动化用例测试方法。
第五方面,本申请提供一种程序产品,该程序产品包含计算机执行指令。当计算机执行指令被执行时,以实现第一方面提供的自动化用例测试方法。
本申请提供一种自动化测试方法、装置、设备及存储介质,通过在工具显示界面中显示基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的树形结构,和用于触发自动化测试的第一功能按钮,响应于作用于树形结构中目标节点的选中操作,确定目标节点,该目标节点为根节点或子节点,响应于作用于第一功能按钮的触发操作,执行目标节点对应的测试用例方法,其中,树形结构中根节点对应目标测试用例根目录文件夹,根节点下包含多级子节点,多级子节点分别依次对应目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法,测试用例方法为测试用例对应的测试代码或测试脚本。通过在工具显示界面中显示用于反映目标测试用例根目录文件夹中文件的层级关系的树形结构和用于触发自动化测试的第一功能按钮,实现测试用例的离线可视化配置及执行触发,提高测试效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的应用场景的结构示意图;
图2为本申请一实施例提供的自动化测试方法的流程图;
图3为本申请另一实施例提供的自动化测试方法的流程图;
图4为本申请一实施例提供的自动化测试装置的结构示意图;
图5为本申请一实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
基于相关技术中存在的问题,本申请通过测试用例的可视化配置及执行,提高测试效率。具体的,在工具显示界面中显示基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的树形结构,和用于触发自动化测试的第一功能按钮,用户在树形结构中勾选根节点或子节点,并点击第一功能按钮触发目标节点对应的测试用例方法。
为了便于理解,首先对本申请实施例的应用场景进行介绍。
图1为本申请实施例提供的应用场景的结构示意图。如图1所示,本申请实施例提供的应用场景中包括客户端11和服务端12。其中,客户端11用于实现和用户之间的交互,服务端12用于执行后台服务,客户端11和服务端12之间可以通过通信信道连接。
本申请实施例提供的应用场景中涉及用户、客户端11和服务端12之间的交互。具体的,客户端11与用户进行交互时,可以通过客户端的免安装的离线工具13实现。示例性的,用户可以通过在离线工具13的显示界面中进行相关的功能操作,以实现和客户端之间的交互。客户端11和服务端12之间进行交互时,客户端12可以将对应的测试指令发送给服务端12进行执行,服务端12将对应的执行日志发送给客户端11进行本地存储和/或在离线工具13的显示界面中显示。
适用于本申请实施例提供的自动化测试方法的应用场景中,客户端11和服务端12还可以包括存储模块、执行模块以及日志模块等功能模块,以支持自动化测试框架pytest和unittest等执行测试用例。其中,存储模块主要用于获取测试用例执行所需的基本信息、工具读取存储模块信息以及树形展示测试用例信息,示例性的,可以存储测试用例的可执行路径、测试用例名称以及测试点等;执行模块主要用于在离线工具13的显示界面上勾选测试用例后,存储各个勾选测试用例信息,根据显示界面选中的自动化测试框架类型,结合不同自动化测试框架的执行命令行,组合成对应测试用例执行指令,触发执行功能;日志模块主要用于在显示界面上展示测试用例执行日志信息,日志信息可进行清空或自定义保存。
基于上述应用场景,下面结合具体实施例对本申请提供的自动化测试方法进行详细的说明。可以理解的是,本申请实施例提供的自动化测试方法的执行主体可以为上述应用场景中的客户端,也可以为服务端。
图2为本申请一实施例提供的自动化测试方法的流程图。如图2所示,应用于客户端,该自动化测试方法具体包括以下步骤:
S201,在工具显示界面中显示树形结构和用于触发自动化测试的第一功能按钮,该树形结构是基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的,树形结构中根节点对应目标测试用例根目录文件夹,根节点下包含多级子节点,多级子节点分别依次对应目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法,测试用例方法为测试用例对应的测试代码或测试脚本。
可选地,工具可以为采用PyQt创建的桌面应用(Graphical User Interface,简称GUI)程序。示例性的,该工具可以为离线免安装工具,即在客户端直接运行无需安装。具体的,该工具中包括本申请实施例提供的自动化测试方法的实现方案及功能。示例性的,该工具可以通过Python的打包工具如pyinstall完成。
可选地,树形结构用于展示测试用例的层级关系,使测试用例实现可视化。一种可能的实现方式中,可以在工具显示界面中选择QTreeWidget类,以读取目标测试用例根目录文件夹中文件的层级关系,根据目标测试用例根目录文件夹中文件的层级关系,确定树形结构中的对应的节点的层级关系,以得到树形结构。示例性的,树形结构中展示的层级关系从下到上依次可以为:测试用例方法名的上一层节点为对应的测试类,测试类的上一层节点为对应的py文件名,py文件的上一层节点为文件夹名,该文件夹的上一层节点为上一个文件夹名,依次到触发目标测试用例执行的入口函数所在的根目录。
一种可能的实现方式中,读取目标测试用例根目录文件夹中文件的层级关系时,其读取顺序依次可以为:读取文件夹关系、读取包含测试用例的Py文件,表示一个模块、读取出对应py文件的测试类以及读取测试类下的测试用例方法名。
可以理解的是,树形结构中的根节点与目标测试用例根目录文件夹是一一对应的,目标测试用例的每一层文件夹对应树形结构中的一层子节点,第一层文件夹为根节点,根据目标测试用例根目录文件夹中文件的层级关系绑定树形结构中的节点层级关系。
示例性的,第一功能按钮可以为“运行”功能按钮,也可以为“执行”功能按钮等。具体的,功能按钮样式可以通过QPushButton类添加信号和槽,以实现触发功能按钮。
示例性的,目标测试用例根目录文件夹中文件的层级关系、文件的路径、文件的名称、文件的测试类以及测试用例方法名均可以存储在MySql数据库。
S202,响应于作用于树形结构中目标节点的选中操作,确定目标节点,该目标节点为根节点或子节点。
可选地,选中操作可以为勾选操作。示例性的,在树形结构中,勾选目标节点。
可选地,目标节点为子节点时,可以为测试类节点,也可以为测试类节点下的测试用例方法节点,本申请实施例提供的自动化测试方法对目标节点的类型以及个数不做限定。
S203,响应于作用于第一功能按钮的触发操作,执行目标节点对应的测试用例方法。
示例性的,触发第一功能按钮后,调用与目标节点对应的测试框架的执行命令语句执行目标节点对应的测试用例方法。
本申请实施例中,通过在工具显示界面中显示基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的树形结构,和用于触发自动化测试的第一功能按钮,响应于作用于树形结构中目标节点的选中操作,确定目标节点,该目标节点为根节点或子节点,响应于作用于第一功能按钮的触发操作,执行目标节点对应的测试用例方法,其中,树形结构中根节点对应目标测试用例根目录文件夹,根节点下包含多级子节点,多级子节点分别依次对应目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法,测试用例方法为测试用例对应的测试代码或测试脚本。通过在工具显示界面中显示用于反映目标测试用例根目录文件夹中文件的层级关系的树形结构和用于触发自动化测试的第一功能按钮,实现测试用例的离线可视化配置及执行触发,提高测试效率。
在上述实施例的基础上,在步骤S202确定目标节点之后,本申请实施例提供的自动化测试方法还可以具体包括以下步骤:根据目标节点,确定可执行路径,该可执行路径为测试类的可执行路径或测试用例方法的可执行路径,对应的,步骤S203,执行目标节点对应的测试用例方法还可以包括步骤:根据可执行路径执行目标节点对应的测试用例方法。
示例性的,测试类的可执行路径可以为test_module.TestClass,其测试类对应的执行方式可以为python-m unittest test_module.TestClass,用于表示一个测试类下的所有测试用例;测试用例方法的可执行路径可以为test_module.TestClass.test_method,其测试用例方法对应的执行方式为python-m unittest test_module.TestClass.test_method。
基于上述实施例,可选地,根据目标节点,确定可执行路径还可以具体包括以下步骤:若目标节点为测试类下的全部测试用例方法对应的子节点,则确定可执行路径为测试类的可执行路径;若目标节点为测试类下的部分测试用例方法对应的子节点,则确定可执行路径为部分测试用例方法的可执行路径。具体的,测试类的可执行路径和测试用例方法的可执行路径与上述类似,这里不再赘述。
在上述实施例的基础上,在步骤S202确定目标节点之后,本申请实施例提供的自动化测试方法还可以具体包括以下步骤:显示目标节点的下拉框,该下拉框中包含测试框架类型,测试框架类型包括Pytest测试框架和UnitTest测试框架;响应于下拉框中目标测试框架类型的选中操作,确定目标测试框架类型;对应地,执行目标节点对应的测试用例方法,还可以具体包括以下步骤:采用目标测试框架类型执行目标节点对应的测试用例方法。可以理解的是,本申请实施例提供的自动化测试方法可以同时满足兼容不同类型的自动化测试框架。
需要说明的是,本申请实施例提供的自动化测试方法中,目标测试框架类型可以根据目标节点对应的文件路径确定,也可以根据目标节点对应的文件名称确定,示例性的,当测试框架类型为UnitTest测试框架时,对应的测试文件名是以“test_”开头或“_test”结尾。本申请实施例提供的自动化测试方法中对于目标测试框架的确定方法不做限定。
基于上述应用场景,本申请实施例提供的自动化测试方法可以通过客户端和服务端之间的交互实现。一种可能的实现方式中,根据可执行路径执行目标节点对应的测试用例方法具体可以包括以下步骤:生成包含可执行路径的测试指令;向服务端发送测试指令,该测试指令用于指示服务端根据可执行路径执行目标节点对应的测试用例方法。示例性的,客户端根据目标节点生成包含可执行路径的测试指令,并将该测试指令发送给服务端,服务端在接收到测试指令后,根据可执行路径执行目标节点对应的测试用例方法。
基于上述实施例,本申请实施例提供的自动化测试方法还可以在工具显示界面实现执行日志的展示和/或存储。一种可能的实现方式中,在向服务端发送测试指令之后具体还可以包括以下步骤:接收来自服务端的执行日志,该执行日志为服务端在执行目标节点对应的测试用例方法过程中生成的日志;存储执行日志,和/或,通过pyqtSignal类实现自定义信号,在工具显示界面中显示执行日志。示例性的,存储执行日志可以通过使用Python内置写文件函数,实现本地离线存储执行日志。示例性的,工具界面中显示的执行日志可以为测试用例的执行结果。
下面结合图3对步骤S201中目标测试用例根目录文件夹中文件的层级关系的确定方式进行详细说明。
图3为本申请又一实施例提供的自动化测试方法的流程图。如图3所示,该自动化测试方法中目标测试用例根目录文件夹中文件的层级关系的确定具体包括以下步骤:
S301,获取目标测试用例根目录文件夹。
一种可能的实现方式中,响应于自动化测试工具的启动操作,显示自动化测试工具的工具显示界面,工具显示界面中包含第二功能按钮和第三功能按钮,该第二功能按钮用于添加测试用例根目录文件夹,第三功能按钮用于更新或解析所添加的测试用例根目录文件夹;响应于作用于第二功能按钮的交互操作,获取目标测试用例根目录文件夹。示例性的,第二功能按钮的交互操作可以为用户和客户端之间的交互,交互操作可以为单击功能按钮的操作。
示例性的,第三功能按钮的实现方式与上述类似,可以通过QPushButton类实现。具体的,通过按钮点击信号触发对应的更新或解析功能。
可选地,在测试用例根目录文件夹的层级关系未发生变更时,通过触发解析功能按钮解析所添加的测试用例根目录文件夹;在测试用例根目录文件夹的层级关系发生变更时,通过触发更新功能按钮更新所添加的测试用例根目录文件夹。可以理解的是,更新功能主要实现数据库存储的测试用例更新界面上完成更新后的信息展示。
S302,解析得到目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法。
一种可能的实现方式中,通过python内置模块,解析出目标测试用例根目录下所有文件夹及文件夹中的测试文件名。示例性的,通过split方法,依次解析出符合命名规则的py文件、解析出对应py文件下的测试类,、解析出对应测试类下的测试用例方法。其中,命名规则可以为以“test_”开头或“_test”结尾的测试文件名。
可选地,解析得到的目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法可以存储在MySql数据库。
需要说明的是,当目标测试用例根目录文件夹中包含测试用例说明时,也可以通过上述的第三功能按钮解析得到,并存储在MySql数据库。
本申请实施例中,通过获取目标测试用例根目录文件夹,解析得到目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法,用以得到测试用例的层级关系,进一步将用例的层级关系转换为树形结构,实现测试用例的可视化。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4为本申请一实施例提供的自动化测试装置的结构示意图。如图4所示,该自动化测试装置包括:显示模块410、确定模块420以及执行模块430。
其中:
显示模块410,用于在工具显示界面中显示树形结构和用于触发自动化测试的第一功能按钮,该树形结构是基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的,树形结构中根节点对应目标测试用例根目录文件夹,根节点下包含多级子节点,多级子节点分别依次对应目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法,测试用例方法为测试用例对应的测试代码或测试脚本;确定模块420,用于在作用于树形结构中目标节点的选中操作时,确定目标节点,该目标节点为根节点或子节点;执行模块430,用于在作用于第一功能按钮的触发操作时,执行目标节点对应的测试用例方法。
一种可能的实现方式中,确定模块420还可以用于:根据目标节点,确定可执行路径,该可执行路径为测试类的可执行路径或测试用例方法的可执行路径;执行模块具体用于:根据可执行路径执行目标节点对应的测试用例方法。
一种可能的实现方式中,确定模块420还可以用于:若目标节点为测试类下的全部测试用例方法对应的子节点,则确定可执行路径为测试类的可执行路径;若目标节点为测试类下的部分测试用例方法对应的子节点,则确定可执行路径为部分测试用例方法的可执行路径。
一种可能的实现方式中,执行模块430还可以用于:生成包含可执行路径的测试指令;向服务端发送测试指令,该测试指令用于指示服务端根据可执行路径执行目标节点对应的测试用例方法。
一种可能的实现方式中,该自动化测试装置还包括接收模块(未图示),该接收模块用于:接收来自服务端的执行日志,执行日志为服务端在执行目标节点对应的测试用例方法过程中生成的日志;存储执行日志,和/或,通过pyqtSignal类实现自定义信号,在工具显示界面中显示执行日志。
一种可能的实现方式中,确定模块420还可以用于:显示目标节点的下拉框,该下拉框中包含测试框架类型,测试框架类型包括Pytest测试框架和UnitTest测试框架;响应于下拉框中目标测试框架类型的选中操作,确定目标测试框架类型;对应地,执行模块430还可以具体用于:采用目标测试框架类型执行目标节点对应的测试用例方法。
一种可能的实现方式中,该自动化测试装置还包括解析模块(未图示),该解析模块用于:获取目标测试用例根目录文件夹;解析得到目标测试用例根目录文件夹中的子文件夹、子文件夹中的文件、文件中的测试类和测试类下的测试用例方法。
一种可能的实现方式中,解析模块还可以用于:响应于自动化测试工具的启动操作,显示自动化测试工具的工具显示界面,工具显示界面中包含第二功能按钮和第三功能按钮,该第二功能按钮用于添加测试用例根目录文件夹,第三功能按钮用于更新或解析所添加的测试用例根目录文件夹;响应于作用于第二功能按钮的交互操作,获取目标测试用例根目录文件夹。
本申请实施例提供的装置,可用于执行上述方法实施例提供的方法步骤,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程逻辑门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip,简称SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital SubscriberLine,简称DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘,(Digital Video Disc,简称DVD))、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
图5为本申请一实施例提供的电子设备的结构示意图。如图5所示,该电子设备50包括:至少一个处理器510、存储器520、通信接口530和系统总线540。其中,存储器520和通信接口530通过系统总线540与处理器510连接并完成相互间的通信,存储器520用于存储指令,通信接口530用于和其他设备进行通信,处理器510用于调用存储器中的指令以执行如上述方法实施例提供的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
该图5中提到的系统总线540可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线540可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口530用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。
存储器520可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器510可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,简称NP)等;数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述方法实施例中的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
本申请实施例还提供一种程序产品,该程序产品包含计算机执行指令。当计算机执行指令被执行时,以实现如上述方法实施例中的方法步骤,具体实现方式和技术效果类似,这里不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到发明的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

Claims (12)

1.一种自动化测试方法,其特征在于,包括:
在工具显示界面中显示树形结构和用于触发自动化测试的第一功能按钮,所述树形结构是基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的,所述树形结构中根节点对应所述目标测试用例根目录文件夹,所述根节点下包含多级子节点,所述多级子节点分别依次对应所述目标测试用例根目录文件夹中的子文件夹、所述子文件夹中的文件、所述文件中的测试类和所述测试类下的测试用例方法,所述测试用例方法为测试用例对应的测试代码或测试脚本;
响应于作用于所述树形结构中目标节点的选中操作,确定所述目标节点,所述目标节点为所述根节点或所述子节点;
响应于作用于所述第一功能按钮的触发操作,执行所述目标节点对应的测试用例方法。
2.根据权利要求1所述的自动化测试方法,其特征在于,在确定所述目标节点之后,还包括:
根据所述目标节点,确定可执行路径,所述可执行路径为测试类的可执行路径或测试用例方法的可执行路径;
所述执行所述目标节点对应的测试用例方法,包括:根据所述可执行路径执行所述目标节点对应的测试用例方法。
3.根据权利要求2所述的自动化测试方法,其特征在于,所述根据所述目标节点,确定可执行路径,包括:
若所述目标节点为测试类下的全部测试用例方法对应的子节点,则确定所述可执行路径为测试类的可执行路径;
若所述目标节点为测试类下的部分测试用例方法对应的子节点,则确定所述可执行路径为所述部分测试用例方法的可执行路径。
4.根据权利要求2所述的自动化测试方法,其特征在于,所述根据所述可执行路径执行所述目标节点对应的测试用例方法,包括:
生成包含所述可执行路径的测试指令;
向服务端发送所述测试指令,所述测试指令用于指示所述服务端根据所述可执行路径执行所述目标节点对应的测试用例方法。
5.根据权利要求4所述的自动化测试方法,其特征在于,所述向服务端发送所述测试指令之后,还包括:
接收来自所述服务端的执行日志,所述执行日志为所述服务端在执行所述目标节点对应的测试用例方法过程中生成的日志;
存储所述执行日志,和/或,通过pyqtSignal类实现自定义信号,在工具显示界面中显示所述执行日志。
6.根据权利要求2所述的自动化测试方法,其特征在于,在确定所述目标节点之后,还包括:
显示所述目标节点的下拉框,所述下拉框中包含测试框架类型,所述测试框架类型包括Pytest测试框架和UnitTest测试框架;
响应于所述下拉框中目标测试框架类型的选中操作,确定所述目标测试框架类型;
对应地,所述执行所述目标节点对应的测试用例方法,还包括:采用所述目标测试框架类型执行所述目标节点对应的测试用例方法。
7.根据权利要求1至6中任一项所述的自动化测试方法,其特征在于,所述层级关系是通过以下方式确定的:
获取所述目标测试用例根目录文件夹;
解析得到所述目标测试用例根目录文件夹中的子文件夹、所述子文件夹中的文件、所述文件中的测试类和所述测试类下的测试用例方法。
8.根据权利要求7所述的自动化测试方法,其特征在于,所述获取所述目标测试用例根目录文件夹,包括:
响应于自动化测试工具的启动操作,显示所述自动化测试工具的工具显示界面,工具显示界面中包含第二功能按钮和第三功能按钮,所述第二功能按钮用于添加测试用例根目录文件夹,所述第三功能按钮用于更新或解析所添加的测试用例根目录文件夹;
响应于作用于所述第二功能按钮的交互操作,获取所述目标测试用例根目录文件夹。
9.一种自动化测试装置,其特征在于,包括:
显示模块,用于在工具显示界面中显示树形结构和用于触发自动化测试的第一功能按钮,所述树形结构是基于QTreeWidget类,根据目标测试用例根目录文件夹中文件的层级关系生成的,所述树形结构中根节点对应所述目标测试用例根目录文件夹,所述根节点下包含多级子节点,所述多级子节点分别依次对应所述目标测试用例根目录文件夹中的子文件夹、所述子文件夹中的文件、所述文件中的测试类和所述测试类下的测试用例方法,所述测试用例方法为测试用例对应的测试代码或测试脚本;
确定模块,用于在作用于所述树形结构中目标节点的选中操作时,确定所述目标节点,所述目标节点为所述根节点或所述子节点;
执行模块,用于在于作用于所述第一功能按钮的触发操作时,执行所述目标节点对应的测试用例方法。
10.一种电子设备,其特征在于,包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器用于存储所述至少一个处理器可执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至8中任一项所述的自动化测试方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8中任一项所述的自动化测试方法。
12.一种程序产品,其特征在于,所述程序产品包含计算机执行指令,当所述计算机执行指令被执行时,以实现如权利要求1至8中任一项所述的自动化测试方法。
CN202310105434.7A 2023-02-01 2023-02-01 自动化测试方法、装置、设备及存储介质 Pending CN116107892A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310105434.7A CN116107892A (zh) 2023-02-01 2023-02-01 自动化测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310105434.7A CN116107892A (zh) 2023-02-01 2023-02-01 自动化测试方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116107892A true CN116107892A (zh) 2023-05-12

Family

ID=86253911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310105434.7A Pending CN116107892A (zh) 2023-02-01 2023-02-01 自动化测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116107892A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116300836A (zh) * 2023-05-19 2023-06-23 西安诚安测控科技有限公司 发动机控制系统的测试方法和装置
CN116932305A (zh) * 2023-09-15 2023-10-24 新华三信息技术有限公司 一种测试文件生成方法、装置、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116300836A (zh) * 2023-05-19 2023-06-23 西安诚安测控科技有限公司 发动机控制系统的测试方法和装置
CN116932305A (zh) * 2023-09-15 2023-10-24 新华三信息技术有限公司 一种测试文件生成方法、装置、电子设备及存储介质
CN116932305B (zh) * 2023-09-15 2023-12-12 新华三信息技术有限公司 一种测试文件生成方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN116107892A (zh) 自动化测试方法、装置、设备及存储介质
US8930772B2 (en) Method and system for implementing a test automation results importer
US20170228220A1 (en) Self-healing automated script-testing tool
US20160124795A1 (en) Evaluation method and apparatus
CN115080398A (zh) 一种接口自动化测试系统及方法
US11422917B2 (en) Deriving software application dependency trees for white-box testing
CN110941547B (zh) 自动化测试用例库管理方法、装置、介质及电子设备
Sayagh et al. Multi-layer software configuration: Empirical study on wordpress
US11288170B1 (en) Log analysis debugging without running on real production environment
CN114116505A (zh) 代码测试方法及装置
CN113836014A (zh) 一种接口测试方法、装置、电子设备和存储介质
CN113485909A (zh) 测试方法、装置、计算设备以及介质
CN117112060A (zh) 组件库构建方法、装置、电子设备及存储介质
CN113760721A (zh) 一种页面测试方法和装置
US11182272B2 (en) Application state monitoring
CN116010244A (zh) 自动化测试方法、装置、电子设备及存储介质
US20180322034A1 (en) Running test scripts in multiple language platforms
CN114691496A (zh) 单元测试方法、装置、计算设备及介质
CN115437903A (zh) 接口测试方法、装置、设备、存储介质及程序
CN113220586A (zh) 一种自动化的接口压力测试执行方法、装置和系统
US10303579B2 (en) Debug session analysis for related work item discovery
CN112559346A (zh) 一种业务测试的方法及装置
CN117130946B (zh) 一种测试场景生成方法、装置、电子设备和可读存储介质
US20240176728A1 (en) Plug and play language acceptance testing
US11948024B2 (en) Automated dynamic payload testing of OData APIs

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