CN116049020B - 软件产品的自动化测试方法、装置、设备及可读存储介质 - Google Patents

软件产品的自动化测试方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN116049020B
CN116049020B CN202310344441.2A CN202310344441A CN116049020B CN 116049020 B CN116049020 B CN 116049020B CN 202310344441 A CN202310344441 A CN 202310344441A CN 116049020 B CN116049020 B CN 116049020B
Authority
CN
China
Prior art keywords
software product
use case
test
application
target use
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
CN202310344441.2A
Other languages
English (en)
Other versions
CN116049020A (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.)
Shenzhen Mingyuan Cloud Technology Co Ltd
Original Assignee
Shenzhen Mingyuan Cloud 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 Shenzhen Mingyuan Cloud Technology Co Ltd filed Critical Shenzhen Mingyuan Cloud Technology Co Ltd
Priority to CN202310344441.2A priority Critical patent/CN116049020B/zh
Publication of CN116049020A publication Critical patent/CN116049020A/zh
Application granted granted Critical
Publication of CN116049020B publication Critical patent/CN116049020B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种软件产品的自动化测试方法、装置、设备及可读存储介质,该方法包括:将根据所述软件产品的URL地址确定所述软件产品的已配置应用;根据所述已配置应用确定所述软件产品的目标用例;调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试。相比于传统自动化测试框架,本申请可获取待测软件产品的部署应用,再根据部署的应用,确定目标用例以及测试过程中的预封装标准控件,实现软件产品的自动化测试,能兼容各种部署模式或用户个性化的自动化测试需求。从而降低自化测试方案门槛,提高自化测试方案的普适性。

Description

软件产品的自动化测试方法、装置、设备及可读存储介质
技术领域
本申请涉及自动化测试领域,尤其涉及一种零代码平台产品的自动化测试方法、装置、设备及可读存储介质。
背景技术
随着企业客户需求的多样化和业务的快速变化,企业信息系统不仅要满足多种部署架构方式还要快速更新迭代来适应业务的变化,复杂的需求业务也会导致业务系统庞大且复杂,测试人员不仅需要重复的回归大量的功能模块,且需要在不同的部署模式下去验证,极其耗费人力,高强度的疲劳测试中也很容易出现漏测误测的情况,导致线上问题多。因此急需自动化的介入,而传统的自动化框架对一般测试的门槛较高,应用场景灵活度低,无法推行。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种零代码平台产品的自动化测试方法、装置、设备及介质,旨在解决传统自化测试方案门槛高无法推行的技术问题。
为实现上述目的,本申请提供一种软件产品的自动化测试方法,所述软件产品的自动化测试方法包括以下步骤:
根据所述软件产品的URL地址确定所述软件产品的已配置应用;
根据所述已配置应用确定所述软件产品的目标用例;
调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试。
进一步地,所述根据所述软件产品的URL地址确定所述软件产品的已配置应用的步骤包括:
基于所述URL地址登录所述软件产品;
从所述软件产品的预设开放接口中获取所述软件产品部署的应用的应用名称,并基于所述应用名称确定所述已配置应用。
进一步地,所述根据所述已配置应用确定所述软件产品的目标用例步骤包括:
从预设全量用例集中获取待执行用例;
将所述待执行用例的标签与所述已配置应用的应用名称集比对;
若所述标签属于所述应用名称集,则将所述待执行用例作为所述目标用例。
进一步地,所述调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试的步骤包括:
根据所述目标用例确定所述预封装标准控件;
调用所述预封装标准控件,基于所述目标用例的测试步骤对于所述软件产品中与所述目标用例对应的功能进行测试,得到所述目标用例的测试结果。
进一步地,在所述得到所述目标用例的测试结果的步骤之后,所述方法还包括:
执行所述从预设全量用例集中获取待执行用例的步骤,直至遍历所述预设全量用例集中的每个待执行用例,输出各所述目标用例的测试结果。
进一步地,在所述根据所述目标用例确定所述预封装标准控件的步骤之后,所述方法包括:
通过所述软件产品的客户类型为所述预封装标准控件配置脚本逻辑,其中,所述客户类型在通过所述URL地址登录所述软件产品时获取。
进一步地,所述预封装标准控件为对所述零代码平台的平台控件的操作方法和/或断言进行封装得到,其中,所述操作方法为所述平台控件的各组件操作方法,所述平台控件中的个性化属性在封装成所述预封装标准控件时被参数化。
此外,为实现上述目的,本申请还提供一种软件产品的自动化测试装置,所述软件产品基于零代码平台生成,所述的软件产品的自动化测试装置包括:
第一确定模块,用于根据所述软件产品的URL地址确定所述软件产品的已配置应用;
第二确定模块,用于根据所述已配置应用确定所述软件产品的目标用例;
测试模块,用于调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试。
此外,为实现上述目的,本申请还提供一种软件产品的自动化测试设备,所述软件产品的自动化测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件产品的自动化测试程序,所述软件产品的自动化测试程序被所述处理器执行时实现上述的软件产品的自动化测试方法的步骤。
此外,为实现上述目的,本申请还提供一种可读存储介质,所述可读存储介质上存储有软件产品的自动化测试程序,所述软件产品的自动化测试程序被处理器执行时实现如上述的软件产品的自动化测试方法的步骤。
本申请实施例提出的一种零代码平台产品的自动化测试方法、装置、设备及介质。本申请针对基于零代码平台生成的软件产品,预搭建的自动化测试框架将根据所述软件产品的URL地址确定所述软件产品的已配置应用;根据所述已配置应用确定所述软件产品的目标用例;调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试。相比于传统自动化测试框架,本申请可获取待测软件产品的部署应用,再根据部署的应用,确定目标用例以及测试过程中的预封装标准控件,实现软件产品的自动化测试,能兼容各种部署模式或用户个性化的自动化测试需求。从而降低自化测试方案门槛,提高自化测试方案的普适性。
附图说明
图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本申请软件产品的自动化测试方法的第一实施例的流程示意图;
图3为本申请软件产品的自动化测试方法的第二实施例的流程示意图;
图4为本申请软件产品的自动化测试方法中第三实施例的流程示意图;
图5为本申请软件产品的自动化测试方法中传统自动化测试框架页面与控件映射关系示意图;
图6为本申请软件产品的自动化测试方法中页面和控件的映射关系示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
本申请实施例设备可以是服务器,也可以是智能手机、PC、平板电脑、便携计算机等电子终端设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的设备结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及软件产品的自动化测试程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的软件产品的自动化测试程序,软件产品基于零代码平台生成,并执行以下操作:
根据所述软件产品的URL地址确定所述软件产品的已配置应用;
根据所述已配置应用确定所述软件产品的目标用例;
调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试。
进一步地,处理器1001可以调用存储器1005中存储的软件产品的自动化测试程序,还执行以下操作:
所述根据所述软件产品的URL地址确定所述软件产品的已配置应用的步骤包括:
基于所述URL地址登录所述软件产品;
从所述软件产品的预设开放接口中获取所述软件产品部署的应用的应用名称,并基于所述应用名称确定所述已配置应用。
进一步地,处理器1001可以调用存储器1005中存储的软件产品的自动化测试程序,还执行以下操作:
所述根据所述已配置应用确定所述软件产品的目标用例步骤包括:
从预设全量用例集中获取待执行用例;
将所述待执行用例的标签与所述已配置应用的应用名称集比对;
若所述标签属于所述应用名称集,则将所述待执行用例作为所述目标用。
进一步地,处理器1001可以调用存储器1005中存储的软件产品的自动化测试程序,还执行以下操作:
所述调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试的步骤包括:
根据所述目标用例确定所述预封装标准控件;
调用所述预封装标准控件,基于所述目标用例的测试步骤对于所述软件产品中与所述目标用例对应的功能进行测试,得到所述目标用例的测试结果。
进一步地,处理器1001可以调用存储器1005中存储的软件产品的自动化测试程序,还执行以下操作:
在所述得到所述目标用例的测试结果的步骤之后,所述方法还包括:
执行所述从预设全量用例集中获取待执行用例的步骤,直至遍历所述预设全量用例集中的每个待执行用例,输出各所述目标用例的测试结果。
进一步地,处理器1001可以调用存储器1005中存储的软件产品的自动化测试程序,还执行以下操作:
在所述根据所述目标用例确定所述预封装标准控件的步骤之后,所述方法包括:
通过所述软件产品的客户类型为所述预封装标准控件配置脚本逻辑,其中,所述客户类型在通过所述URL地址登录所述软件产品时获取。
进一步地,所述预封装标准控件为对所述零代码平台的平台控件的操作方法和/或断言进行封装得到,其中,所述操作方法为所述平台控件的各组件操作方法,所述平台控件中的个性化属性在封装成所述预封装标准控件时被参数化。
为清楚说明本方案的优势,现对传统自动化测试方案存在上述问题的原因进行简单说明。
需要说明的是,在计算机行业,当一个新产品开发完成后,通常需要对新产品进行测试,以保证新产品的各项功能正常,而为避免人工进行测试造成人工成本上升的问题,目前也存在有自动化测试方案实现对产品的测试,可以理解的,自动化测试方案从本质上是利用脚本完成自动测试,而脚本的开发同样需要人力成本,故在进行自动化测试就需要权衡脚本开发成本和人工测试成本的高低,而且由于产品与产品之间存在的差异,一个产品的自动化测试脚本可能无法适用于其他产品,故对于目前的传统自动化测试方案来说,其使用门槛较高,无法得到推行。例如,在传统的UI(User Interface,用户界面)框架中采用了PageObject(页面对象)设计模式,即一个页面对应一个java页面实体对象,当一个系统涉及到几百个页面时,就需要完成几百个java页面类去与之对应,以实现自动化测试。而且在一个页面中会包括很多的组件(比如,对于货物新增页面,其包括的组件可能有货物、编码名、货物名称输入框以及提交按钮等),每个组件都需要作为一个单独的元素组件去在对应页面类上实现模拟操作的方法封装,故大量个性化的页面以及大量个性化的组件,使得传统的UI框架的PageObject设计模式难以推行开来。
对于上述现状,本申请针对零代码平台提出一种零代码平台产品的自动化测试方法,以提高自动化测试方案的范用性。
参照图2,本申请软件产品的自动化测试方法的第一实施例,软件产品基于零代码平台生成,所述软件产品的自动化测试方法包括:
步骤S10,根据所述软件产品的URL地址确定所述软件产品的已配置应用;
需要说明的是本实施例中上述软件产品的自动化测试方法可应用于预搭建的UI自动化测试框架。预搭建的UI自动化测试框架封装有UI自动化工具,例如java+ selenium,selenoid, docker等底层的基础的UI自动化工具。上述测试的软件产品通常为基于零代码平台所生成。其中,软件产品可以是一套软件系统,通常情况下在一个软件系统中可以部署多种应用,当该软件系统被开发出来之后或者被用户投入使用之前需要进行测试,以保证该软件系统的各项功能正常。
具体的,在进行测试时,首先获取到该软件产品的URL(Uniform ResourceLocator,统一资源定位符)地址确定等待测试的软件产品以及该软件产品已配置应用。其中,对于一套软件系统来说其内部可以部署多种应用,不同应用之间具有不同的功能。对于用户而言在购买软件产品(软件系统)时,会根据自身需求去配置相应的应用,故不同用户购买的软件产品所配置的应用可能不同。
进一步的,所述根据所述软件产品的URL地址确定所述软件产品的已配置应用的步骤包括:
步骤S110,基于所述URL地址登录所述软件产品;
步骤S120,从所述软件产品的预设开放接口中获取所述软件产品部署的应用的应用名称,并基于所述应用名称确定所述已配置应用。
具体的,通过URL地址登录上述软件产品(在一些情况下,可能还需要获取软件产品的登录信息,如用户信息,才能完成登录)。登录上待测试的软件产品后,从该软件产品的预设开放接口中直接获取到待测的软件产品中所部署的应用的应用名称,根据获取到的应用名称即可确定待测软件产品的已配置应用。从而可确定该产品需要进行测试的功能。
步骤S20,根据所述已配置应用确定所述软件产品的目标用例;
具体的,在本实施例的自动化测试框架中,对于用例可进行标签的标注(用于标注该用例属于那个用例),从而便于根据已配置应用确定目标用例。
进一步的,所述根据所述已配置应用确定所述软件产品的目标用例步骤包括:
步骤S210,从预设全量用例集中获取待执行用例;
步骤S220,将所述待执行用例的标签与所述已配置应用的应用名称集比对;
步骤S230,若所述标签属于所述应用名称集,则将所述待执行用例作为所述目标用例。
具体的,在本实施例的自动化测试框架中,对于每个应用均会编写对应的用例。上述预设全量用例集,即包括了每个应用的用例。从预设全量用例集中获取一个待执行用例,待执行用例可以是预设全量用例集中的任意一个。将获取到的待执行用例的标签和已配置应用的应用名称集比对,其中,应用名称集包括了软件产品已配置应用的应用名称,标签可以是该待执行用例所属应用的应用名称。若比对结果为,该标签属于该应用名称集,则将该测试用例作为所述目标用例,从而完成目标用例的确定。
步骤S30,调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试。
进一步的,所述预封装标准控件为对所述零代码平台的平台控件的操作方法和/或断言进行封装得到,其中,所述操作方法为所述平台控件的各组件操作方法,所述平台控件中的个性化属性在封装成所述预封装标准控件时被参数化。
需要说明的是,本实施例中对于封装上述预封装标准控件的思路与传统自动化测试框架不同,设存在有部分页面涉及到自动化测试过程,例如新增货物页面和新增用户页面等,从页面的前缀可知新增货物和新增用户页面应当属于不同应用实现不同功能时会涉及到的页面,而对于上述传统的自动化测试方案来说,需要分别对新增货物页面和新增用户页面进行对应控件的封装,如需要进行封装得到的控件可以是:新增货物页面类.java和新增用户页面类.java等,如参照图5,传统自动化测试框架页面与控件映射关系示意,图中,相当于每个页面都要封装一个控件,以实现对该页面的控制。本实施例测试的软件产品是基于零代码平台所生成的,而在零代码平台中,所有的平台控件都是标准封装(零代码平台的平台控件和本实施例的自动化测试中的预封装标准控件不同,预封装标准控件中封装的是平台控件的行为操作方法和/或断言,相当于平台控件用于实现软件系统中的某项功能,预封装标准控件用于实现软件系统中某个页面的自动化操作),即对于不同场景下的相同功能或者类似功能都可以基于一个平台控件去实现,只需要对平台控件设置不同的属性(如文本输入框的标签名、按钮名称可能会不一样,但是页面的前后端代码结构是一样的)。如,对于上述新增货物页面和新增用户页面,两者页面操作行为基本是一致的,则在产品开发阶段可以基于同一个平台控件实现。故针对该场景,可以基于封装了该平台控件行为操作方法的预封装标准控件(表单控件类.java)去实现新增货物页面和新增用户页面的自动化操作过程。即对于具有相同功能或类似功能的页面,可简化为一个预封装标准控件实现其自动化操作。如可参照图6,为本申请软件产品的自动化测试方法中页面和控件的映射关系示意图,新增用户页面、新增货物页面以及其他表单页面均可简化基于表单空间类.java实现页面自动化控制。
还需要说明的是,预封装标准控件封装的平台控件的操作方法,实际上也是平台控件中各个组件的操作方法。在零代码平台中有不同的平台控件种类,例如列表、树列表,表单,卡片等。不同的控件会具有不同的组件、行为操作以及断言。如表单控件,操作行为可以包括输入框输入和表达按钮点击等,而表单控件的组件可以包括:单行文本、多行文本、富文本、超链接、数字、日期时间、多选框、下拉框、多级下拉框、弹出选项、自动完成-单选、自动完成-多选、图片、地址以及表单底部工具栏按钮等。对应的,在预封装标准控件中封装的方法,则可以是单行文本框的输入操作方法、多行文本框的输入操作方法等。如,假设一个页面上有多个需要输入单行文本的框,则均可基于上述封装的单行文本框的输入操作方法实现自动输入文本的操作。而对于不可编辑的表单页面,可封装获取页面上所有表单值用来作为断言的实际值与预期值对比。同样需要说明的是,在基于同样的平台控件,去实现不同场景下的类似功能时,需要为平台控件配置与场景相匹配的个性化属性,如文本框名称和按钮名称等。而在对平台控件的操作方法进行封装过程中,涉及到的相关个性化属性可被参数化处理,使得预封装标准控件可应用与多种场景,提本申请软件产品的自动化测试方法的普适性。对于测试员工来说,由于预封装标准控件可适应不同应用场景,故可减少自动化测试过程中人工工作量,对于普通测试能快速上手编写维护用例。
进一步的,所述调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试的步骤包括:
步骤S310,根据所述目标用例确定所述预封装标准控件;
步骤S320,调用所述预封装标准控件,基于所述目标用例的测试步骤对于所述软件产品中与所述目标用例对应的功能进行测试,得到所述目标用例的测试结果。
具体的,根据目标用例确定预封装标准控件,目标用例中可包括有执行各个测试步骤所需要使用的预封装标准控件。调用预封装标准控件按照目标用例中的测试步骤对软件产品中相关应用的功能进行测试,输出测试结果,测试结果为软件产品中与目标用例对应的功能是否可以正常运行。
此外,在自动化测试过程中对于多个不同用例可同步进行测试。所述对软件产品进行所述目标用例的测试的步骤可包括:
将预设数量的用例测试线程分别与不同浏览器绑定;
在各所述浏览器上分别执行不同的待测试用例,以对所述软件产品相应的功能进行测试,其中,不同的所述浏览器运行在不同的容器中。
在任意一个浏览器上执行待测试用例的步骤包括:
基于用例测试线程在所述用例测试线程绑定的浏览器上执行对应待测试用例合集中的待测试用例。即不同的用例测试线程分配有不同的待测试用例合集,且不同的待测试用例合集中的待测试用例不同。
此外,在所述任意一个浏览器上执行待测试用例的步骤之后,所述方法包括:
当任意一个待测试用例合集中的待测试用例被执行完成时,释放执行完成的待测试用例合集对应的用例测试线程,且销毁所述用例测试线程绑定浏览器所占用的容器。
示例性的,上述用于执行用例的用例测试线程的数量可由技术人员根据需求进行设置。不同待测试用例合集中待测试用例具有相同的标签,其中,待测试用例合集中不同待测试用例执行的顺序基于零代码平台的业务生成。例如,设置有三个待测试用例合集包括:javaTest1、javaTest2、javaTest3。其中,javaTest1中包含5个用例,javaTest2包含10个用例,javaTest3包含5个。设并行的线程数量为2,按照待测试用例合集级别先执行javaTest1和javaTest2,启动两个用例测试线程为用例测试线程1和用例测试线程2,分别在不同的容器中创建两个浏览器与之绑定,用例测试线程1在绑定的浏览器中执行javaTest1的待执行用例,用例测试线程2在绑定的浏览器中执行javaTest2的待执行用例。可以理解的是,javaTest1相较于javaTest2用例数量更多,故在通常情况下javaTest1会先于javaTest2执行完,在javaTest1中的待测试用例执行完后,释放用例测试线程1,并将与用例测试线程1绑定的浏览器所在的容器销毁释放资源。同时启动用例测试线程3,在一容器中创建与用例测试线程3绑定的浏览器,基于用例测试线程3在其绑定的浏览器上执行javaTest3中的待测试用例。可以理解的是,在本实施例中,将动态释放执行待测试用例时所占用的资源并进行回收。实现资源的合理分配。此外,本实施例中所搭建的UI自动化测试框架封装有selenoid自动化工具,通过selenoid自动化工具可实现线实时查看用例在容器中的浏览器执行情况,及时了解测试动态。
在本实施例中,针对基于零代码平台生成的软件产品,预搭建的自动化测试框架将根据所述软件产品的URL地址确定所述软件产品的已配置应用;根据所述已配置应用确定所述软件产品的目标用例;调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试。相比于传统自动化测试框架,本申请可获取待测软件产品的部署应用,再根据部署的应用,确定目标用例以及测试过程中的预封装标准控件,实现软件产品的自动化测试,能兼容各种部署模式或用户个性化的自动化测试需求。从而降低自化测试方案门槛,提高自化测试方案的普适性。
进一步的,参照图3,基于本申请软件产品的自动化测试方法的第一实施例提出本申请软件产品的自动化测试方法的第二实施例。本实施例中与上述实施例相同部分可参考上文内容,此处不再赘述。在所述得到所述目标用例的测试结果的步骤之后,所述方法还包括:
步骤S321,执行所述从预设全量用例集中获取待执行用例的步骤,直至遍历所述预设全量用例集中的每个待执行用例,输出各所述目标用例的测试结果。
具体的,自动化测试过程中,通常会对用户购买的软件产品中每个已经配置的应用进行测试。故当基于一个目标用例对软件产品进行测试完成之后,继续从预设全量用例集中获取待执行用例,将该待测试用例的标签与应用名称集比对,判断该待测试用例的标签是否属于应用名称集,若属于,则将该待执行用例作为目标用例,若不属于,则禁用待执行用例。对于目标用例的确定,可以通过在自动化测试框架中增加监听器(如IAnnotationTransformer接口,自动化测试框架中的一种监听器)实现,监听会获取全量用例集中每个用例的用例,并判断标签对应的应用名是否包含在本系统的应用集合(已配置应用的应用名称集)中,对于不包含的用例直接禁用不执行。当遍历预设全量用例集中的每个待执行用例后,即可输出各个目标用例的测试结果。可以理解的是,在本实施例中,将会从预设全量用例集获取各个待执行的用例,并基于用例标签判断该用例是否为与软件产品对应的目标用例,预搭建的自动化测试框架将基于每个目标用例进行测试,从而完成软件产品中用户购买的全部功能的测试。
进一步的,参照图4,基于本申请软件产品的自动化测试方法的第二实施例提出本申请软件产品的自动化测试方法的第三实施例。本实施例中与上述实施例相同部分可参考上文内容,此处不再赘述。在所述根据所述目标用例确定所述预封装标准控件的步骤之后,所述方法包括:
步骤S311,通过所述软件产品的客户类型为所述预封装标准控件配置脚本逻辑,其中,所述客户类型在通过所述URL地址登录所述软件产品时获取。
具体的,不同用户可能会购买相同的系统应用,虽然系统应用相同,但是也会存在有一些定制化需求,如应用1在客户A和客户B会存在部分的业务逻辑或界面实现的差异。针对该场景,对于具有定制化需求的用户可对该用户购买的软件产品预设客户类型,而软件产品预设的客户类型同样可以通过URL地址登录所述软件产品,再从所述软件产品的预设开放接口中获取得到。相应的,再根据客户类型为预封装标准控件配置相应的脚本逻辑,其中,脚本逻辑可根据定制化需求进行预制。可以理解的是,通过客户类型为预封装标准控件配置相应的脚本逻辑,可进一步使得预封装标准控件可适应不同应用场景,从而提高本方案的普适性。
此外,本申请实施例还提供一种软件产品的自动化测试装置,所述软件产品的自动化测试装置包括:
第一确定模块,用于根据所述软件产品的URL地址确定所述软件产品的已配置应用;
第二确定模块,用于根据所述已配置应用确定所述软件产品的目标用例;
测试模块,用于调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试。
可选地,所述第一确定模块还用于:
基于所述URL地址登录所述软件产品;
从所述软件产品的预设开放接口中获取所述软件产品部署的应用的应用名称,并基于所述应用名称确定所述已配置应用。
可选地,所述第二确定模块还用于:
从预设全量用例集中获取待执行用例;
将所述待执行用例的标签与所述已配置应用的应用名称集比对;
若所述标签属于所述应用名称集,则将所述待执行用例作为所述目标用例。
可选地,所述测试模块还用于:
根据所述目标用例确定所述预封装标准控件;
调用所述预封装标准控件,基于所述目标用例的测试步骤对于所述软件产品中与所述目标用例对应的功能进行测试,得到所述目标用例的测试结果。
可选地,所述第二确定模块还用于:
执行所述从预设全量用例集中获取待执行用例的步骤,直至遍历所述预设全量用例集中的每个待执行用例,输出各所述目标用例的测试结果。
可选地,所述测试模块还用于:
通过所述软件产品的客户类型为所述预封装标准控件配置脚本逻辑,其中,所述客户类型在通过所述URL地址登录所述软件产品时获取。
本申请提供的软件产品的自动化测试装置,采用上述实施例中的软件产品的自动化测试方法,旨在解决传统自化测试方案门槛高无法推行的技术问题。与现有技术相比,本申请实施例提供的软件产品的自动化测试装置的有益效果与上述实施例提供的软件产品的自动化测试方法的有益效果相同,且该软件产品的自动化测试装置中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
此外,为实现上述目的,本申请还提供一种软件产品的自动化测试设备,所述软件产品的自动化测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件产品的自动化测试程序,所述软件产品的自动化测试程序被所述处理器执行时实现如上述的软件产品的自动化测试方法的步骤。
本申请软件产品的自动化测试设备的具体实施方式与上述软件产品的自动化测试方法各实施例基本相同,在此不再赘述。
此外,为实现上述目的,本申请还提供一种计算机介质,所述计算机介质上存储有软件产品的自动化测试程序,所述软件产品的自动化测试程序被处理器执行时实现如上述的软件产品的自动化测试方法的步骤。
本申请计算机介质具体实施方式与上述软件产品的自动化测试方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (6)

1.一种软件产品的自动化测试方法,其特征在于,所述软件产品基于零代码平台生成,所述软件产品的自动化测试方法包括以下步骤:
根据所述软件产品的URL地址确定所述软件产品的已配置应用;
根据所述已配置应用确定所述软件产品的目标用例;
调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试,其中,所述预封装标准控件为对所述零代码平台的平台控件的操作方法和/或断言进行封装得到,其中,所述操作方法为所述平台控件的各组件操作方法,所述平台控件中的个性化属性在封装成所述预封装标准控件时被参数化,所述预封装标准控件用于对具有相同功能或类似功能的页面自动化操作;
其中,所述对软件产品进行所述目标用例的测试的步骤包括:
将预设数量的用例测试线程分别与不同浏览器绑定;
在各所述浏览器上分别执行不同的待测试用例,以对所述软件产品相应的功能进行测试,其中,不同的所述浏览器运行在不同的容器中;
其中,在任意一个浏览器上执行待测试用例的步骤之后,所述方法包括:
当任意一个待测试用例合集中的待测试用例被执行完成时,释放执行完成的待测试用例合集对应的用例测试线程,且销毁所述用例测试线程绑定浏览器所占用的容器;
其中,所述根据所述软件产品的URL地址确定所述软件产品的已配置应用的步骤包括:
基于所述URL地址登录所述软件产品;
从所述软件产品的预设开放接口中获取所述软件产品部署的应用的应用名称,并基于所述应用名称确定所述已配置应用;
其中,所述调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试的步骤包括:
根据所述目标用例确定所述预封装标准控件;
调用所述预封装标准控件,基于所述目标用例的测试步骤对于所述软件产品中与所述目标用例对应的功能进行测试,得到所述目标用例的测试结果;
其中,在所述根据所述目标用例确定所述预封装标准控件的步骤之后,所述方法包括:
通过所述软件产品的客户类型为所述预封装标准控件配置脚本逻辑,其中,所述客户类型在通过所述URL地址登录所述软件产品时获取。
2.如权利要求1所述的软件产品的自动化测试方法,其特征在于,所述根据所述已配置应用确定所述软件产品的目标用例步骤包括:
从预设全量用例集中获取待执行用例;
将所述待执行用例的标签与所述已配置应用的应用名称集比对;
若所述标签属于所述应用名称集,则将所述待执行用例作为所述目标用例。
3.如权利要求2所述的软件产品的自动化测试方法,其特征在于,在所述得到所述目标用例的测试结果的步骤之后,所述方法还包括:
执行所述从预设全量用例集中获取待执行用例的步骤,直至遍历所述预设全量用例集中的每个待执行用例,输出各所述目标用例的测试结果。
4.一种软件产品的自动化测试装置,其特征在于,所述软件产品基于零代码平台生成,所述的软件产品的自动化测试装置包括:
第一确定模块,用于根据所述软件产品的URL地址确定所述软件产品的已配置应用;
第二确定模块,用于根据所述已配置应用确定所述软件产品的目标用例;
测试模块,用于调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试,其中,所述预封装标准控件为对所述零代码平台的平台控件的操作方法和/或断言进行封装得到,其中,所述操作方法为所述平台控件的各组件操作方法,所述平台控件中的个性化属性在封装成所述预封装标准控件时被参数化,所述预封装标准控件用于对具有相同功能或类似功能的页面自动化操作;
其中,所述对软件产品进行所述目标用例的测试的步骤包括:
将预设数量的用例测试线程分别与不同浏览器绑定;
在各所述浏览器上分别执行不同的待测试用例,以对所述软件产品相应的功能进行测试,其中,不同的所述浏览器运行在不同的容器中;
其中,在任意一个浏览器上执行待测试用例的步骤之后,包括:
当任意一个待测试用例合集中的待测试用例被执行完成时,释放执行完成的待测试用例合集对应的用例测试线程,且销毁所述用例测试线程绑定浏览器所占用的容器;
其中,所述根据所述软件产品的URL地址确定所述软件产品的已配置应用的步骤包括:
基于所述URL地址登录所述软件产品;
从所述软件产品的预设开放接口中获取所述软件产品部署的应用的应用名称,并基于所述应用名称确定所述已配置应用;
其中,所述调用与所述零代码平台对应的预封装标准控件,对所述软件产品进行所述目标用例的测试的步骤包括:
根据所述目标用例确定所述预封装标准控件;
调用所述预封装标准控件,基于所述目标用例的测试步骤对于所述软件产品中与所述目标用例对应的功能进行测试,得到所述目标用例的测试结果;
其中,在所述根据所述目标用例确定所述预封装标准控件的步骤之后,包括:
通过所述软件产品的客户类型为所述预封装标准控件配置脚本逻辑,其中,所述客户类型在通过所述URL地址登录所述软件产品时获取。
5.一种软件产品的自动化测试设备,其特征在于,所述软件产品的自动化测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的软件产品的自动化测试程序,所述软件产品的自动化测试程序被所述处理器执行时实现如权利要求1至3中任一项所述的软件产品的自动化测试方法的步骤。
6.一种可读存储介质,其特征在于,所述可读存储介质上存储有软件产品的自动化测试程序,所述软件产品的自动化测试程序被处理器执行时实现如权利要求1至3中任一项所述的软件产品的自动化测试方法的步骤。
CN202310344441.2A 2023-04-03 2023-04-03 软件产品的自动化测试方法、装置、设备及可读存储介质 Active CN116049020B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310344441.2A CN116049020B (zh) 2023-04-03 2023-04-03 软件产品的自动化测试方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310344441.2A CN116049020B (zh) 2023-04-03 2023-04-03 软件产品的自动化测试方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN116049020A CN116049020A (zh) 2023-05-02
CN116049020B true CN116049020B (zh) 2023-08-04

Family

ID=86120475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310344441.2A Active CN116049020B (zh) 2023-04-03 2023-04-03 软件产品的自动化测试方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN116049020B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825362A (zh) * 2019-11-04 2020-02-21 广东道一信息技术股份有限公司 低代码应用软件开发系统及方法
CN111104341A (zh) * 2019-12-30 2020-05-05 深圳Tcl新技术有限公司 智能家居设备自动化测试方法、装置、设备及存储介质
CN111831276A (zh) * 2020-06-30 2020-10-27 中国船舶重工集团公司第七一六研究所 软件可视化快速开发系统
CN113626326A (zh) * 2021-08-09 2021-11-09 三峡高科信息技术有限责任公司 一种基于图像识别的拖拽式的零代码前端自动化测试系统
CN113656304A (zh) * 2021-08-16 2021-11-16 上海浦东发展银行股份有限公司 一种前端应用程序的测试方法、设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825362A (zh) * 2019-11-04 2020-02-21 广东道一信息技术股份有限公司 低代码应用软件开发系统及方法
CN111104341A (zh) * 2019-12-30 2020-05-05 深圳Tcl新技术有限公司 智能家居设备自动化测试方法、装置、设备及存储介质
CN111831276A (zh) * 2020-06-30 2020-10-27 中国船舶重工集团公司第七一六研究所 软件可视化快速开发系统
CN113626326A (zh) * 2021-08-09 2021-11-09 三峡高科信息技术有限责任公司 一种基于图像识别的拖拽式的零代码前端自动化测试系统
CN113656304A (zh) * 2021-08-16 2021-11-16 上海浦东发展银行股份有限公司 一种前端应用程序的测试方法、设备和存储介质

Also Published As

Publication number Publication date
CN116049020A (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
CN107577607B (zh) 用户界面自动化测试方法、装置、电子设备、存储介质
CN110134386B (zh) 一种程序编辑方法和装置
CN110716853A (zh) 一种测试脚本录制方法、应用程序测试方法和相关装置
CN105975393B (zh) 一种页面显示的检测方法及系统
CN110320378B (zh) 质控测试申请方法、装置、设备及计算机可读存储介质
CN107315581A (zh) 任务脚本生成装置及方法、任务调度系统及方法
CN111831542B (zh) Api应用调测方法及装置、存储介质
CN115757100A (zh) 面向用户界面的自动化测试框架以及方法、设备、介质
CN112770108B (zh) 性能的测试方法、装置、系统及计算机可读存储介质
CN116049020B (zh) 软件产品的自动化测试方法、装置、设备及可读存储介质
CN107707602A (zh) 数据通信处理终端、方法及计算机可读存储介质
CN109144841B (zh) 广告应用的识别方法和装置、计算机设备和存储介质
CN107797927B (zh) 应用自动化测试方法、装置、设备及可读存储介质
CN110874278A (zh) 外部系统的嵌入方法、工作流系统、设备及存储介质
CN112100086B (zh) 软件自动化测试方法、装置、设备和计算机可读存储介质
CN112433778B (zh) 一种移动设备页面显示方法、装置、电子设备及存储介质
CN111125605B (zh) 页面元素获取方法和装置
CN110795154B (zh) 跨平台设备驱动方法、装置、设备及计算机可读存储介质
CN111949510B (zh) 测试处理方法、装置、电子设备及可读存储介质
CN112685023A (zh) 基于基础库的前端开发处理方法、装置、设备和存储介质
CN113934618A (zh) 接口测试用例生成方法、装置、生成器及可读存储介质
RU2595763C2 (ru) Способ и устройство менеджмента загрузки на базе браузера android
CN111694550B (zh) 一种页面显示控制方法、装置及系统
CN109726111B (zh) 测试规则订制方法、设备、装置及计算机可读存储介质
CN114564413B (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