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

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

Info

Publication number
CN110908909B
CN110908909B CN201911150375.5A CN201911150375A CN110908909B CN 110908909 B CN110908909 B CN 110908909B CN 201911150375 A CN201911150375 A CN 201911150375A CN 110908909 B CN110908909 B CN 110908909B
Authority
CN
China
Prior art keywords
test
interface
result
test result
testing
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
CN201911150375.5A
Other languages
English (en)
Other versions
CN110908909A (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.)
Wanghai Kangxin Beijing Technology Co ltd
Original Assignee
Wanghai Kangxin Beijing 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 Wanghai Kangxin Beijing Technology Co ltd filed Critical Wanghai Kangxin Beijing Technology Co ltd
Priority to CN201911150375.5A priority Critical patent/CN110908909B/zh
Publication of CN110908909A publication Critical patent/CN110908909A/zh
Application granted granted Critical
Publication of CN110908909B publication Critical patent/CN110908909B/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
    • 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
    • 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)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及自动化测试技术领域,尤其涉及一种自动化测试方法、装置、存储介质及设备,其中,所述自动化测试方法,包括:根据接收到的测试指令对目标程序进行UI测试,监听并获取进行UI测试时触发的接口信息及测试数据;将所述测试数据输入到对应的接口中进行接口测试,获得接口测试结果;根据所述接口测试结果确定对应的当前显示页面;调取所述测试数据对应的期望页面,对比所述当前显示页面与期望页面;根据对比结果获取自动化测试结果。本申请提供的方案,在一个框架中完成UI自动化测试的过程中同时完成其对应接口自动化的测试,避免了数据冗余及数据的重复获取,提升了自动化测试效率。

Description

自动化测试方法、装置、存储介质及设备
技术领域
本申请涉及自动化测试技术领域,具体而言,本申请涉及一种自动化测试方法、装置、存储介质及设备。
背景技术
在软件测试过程中,为保证测试质量,通常需要利用大量的测试用例进行自动化测试,目前通用的自动化测试层级有三个,从上到下,依次为UI(User Interface,用户界面)测试、接口测试及单元测试,每层都需要自动化测试。
现有自动化测试中,针对UI自动化测试及接口自动化测试,往往都是分别采用单独的单元测试框架进行接口及UI的相关自动化测试,但该种测试方式会带来如下问题:针对同一操作或软件功能的测试,需要进行测试数据的重复获取及处理,测试流程的多次重复执行,而且,在测试过程中,会产生大量重复代码和自动化测试脚本文件,造成测试过程中的数据冗余,测试效率低,开发及维护成本增加。
发明内容
本申请提供了一种自动化测试方法、装置、计算机可读存储介质及计算机设备,以提高自动化测试的测试效率。
本申请实施例首先提供了一种自动化测试方法,包括:
根据接收到的测试指令对目标程序进行UI测试,监听并获取进行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为本申请一个实施例提供的根据接收到的测试指令对目标程序进行UI测试的流程图;
图5为本申请一个实施例提供的利用UI测试结果与接口测试结果判断当前测试过程是否存在异常的流程图;
图6为本申请一种实施例提供的自动化测试装置的结构示意图;
图7为本申请一种实施例提供的计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
图1为一个实施例提供的自动化测试方法的应用环境图,该应用环境中包括计算机设备110和第一终端120。可选的,计算机设备110可以与第一终端120通过超文本传输(Hyper Text Transfer Protocol,HTTP)协议进行通信。该应用环境中还可以包括第二终端130,第一终端120可以与第二终端130通过Socket协议进行通信。计算机设备110可以是服务器,可以是个人计算机(Personal Computer,PC),还可以是个人数字助理,还可以是其他的终端设备,例如平板电脑(Portable android device,PAD)、手机等等,还可以是云端或者远程服务器。可选的,第一终端120和第二终端130可以集成在同一个终端上。
本申请实施例提供的自动化测试方法,其执行主体可以是测试装置,该测试装置可以通过软件、硬件或者软硬件结合的方式实现成为终端的部分或者全部。下述方法实施例中,均以执行主体是服务器为例来进行说明。
图2为本申请一个实施例提供的自动化测试方法的流程图,包括如下步骤:
步骤S210,根据接收到的测试指令对目标程序进行UI测试,监听并获取进行UI测试时触发的接口信息及测试数据;
步骤S220,将所述测试数据输入到对应的接口中进行接口测试,获得接口测试结果;
步骤S230,根据所述接口测试结果确定对应的当前显示页面;
步骤S240,调取所述测试数据对应的期望页面,对比所述当前显示页面与期望页面;
步骤S250,根据对比结果获取自动化测试结果。
在进行UI测试之前,确定测试过程的测试用例,根据测试用例确定配置文件的环境属性,根据所述配置文件及其环境属性在测试指令的作用下,对所述目标程序的用户界面进行UI测试,获取UI测试结果。在此过程中,监听UI测试过程中触发的接口信息及测试数据,其中,所述测试数据包括:页面元素、输入参数等数据,如在执行系统登录功能操作时,自动监听并保存接口信息及登录过程中的测试数据,包括登录操作所使用的接口名称、接口地址及登录的用户名、密码等测试数据。
UI测试时触发的接口信息,包括接口编号、接口地址等,这里的接口不仅包括与测试数据对应的接口,也包括其他参与UI测试的接口。
利用监听到的测试数据进行接口测试,将测试数据输入到对应的接口中进行接口测试,获得接口测试结果,如:将用户名、密码作为接口测试的输入参数输入到对应的接口中进行接口测试,获得接口测试结果1或0。
接口测试结果与显示页面之间可以预先建立映射关系,如登录系统的测试中,可设置登录成功对应的接口测试结果为1,登录失败对应的接口测试结果为0,若当前接口测试的接口测试结果为1,那么对应的当前显示页面为登录成功的页面,若接口测试结果为0,则当前显示页面为表征登录失败的页面。
调取测试数据对应的期望页面,对比当前显示页面与期望页面,获得自动化测试过程的测试结果,以登录系统这一操作过程为例,测试数据包括:用户名、密码等登录信息,系统中预先设置有正确的用户名及密码,只有接收到正确的用户名和密码才能显示登录成功的界面,因此,根据当前的测试数据调取对应的期望页面,该期望页面可以是登录成功的界面,也可以是登录失败的界面。若测试数据中包含正确的用户名及密码,则期望页面为登录成功页面,若测试数据中是错误的用户名或密码,则期望页面为登录失败页面。将测试结果对应的当前显示页面与期望页面进行对比,若当前显示页面与期望页面一致,表明自动化测试无误;若当前显示页面与期望页面不一致,则表明自动化测试过程异常,尤其能够表明接口测试过程有误。
本申请实施例提供的方案,首先根据测试指令启动UI测试过程,在UI测试过程中,触发对应的接口进行接口测试,根据接口测试结果与其当前界面接收到的测试数据对应的UI测试的期望值进行比对,根据比对结果获得自动化测试结果。该方案在UI测试过程中监控并执行对UI测试过程中涉及的接口测试,实现在一个框架中完成UI自动化测试的过程中同时完成其对应接口自动化的测试,两个层面的测试采用同一个测试框架,避免了数据冗余及数据的重复获取,提升了自动化测试效率。
为了更清楚本申请提供的自动化测试方案及其技术效果,接下来以多个实施例对其具体实施方案进行详细阐述。
一种实施例中,根据接收到的测试指令对目标程序进行UI测试的步骤之前,还包括:
将所述目标程序的用户界面划分为多个界面模块:
所述监听并获取进行UI测试时触发的接口信息及测试数据的步骤,包括:
监听并获取进行UI测试时各界面模块触发的接口信息及测试数据。
本申请实施例提供的方案,在进行UI测试之前,首先将目标程序的用户界面划分为多个界面模块,并确定每个界面模块在UI测试过程中触发的对应接口信息及接收到的测试数据,与UI测试过程中整个用户界面对应的接口信息相比,界面模块触发的接口信息为子接口信息,然后基于测试数据对各界面模块进行接口测试,获取每个界面模块对应的接口测试结果及当前显示界面。一种实施例中,监听并获取进行UI测试时各界面模块触发的接口信息及测试数据的步骤,可以通过如下方式进行,包括如下子步骤:
A1、利用mitmproxy监听各界面模块;
A2、获取各界面模块在UI测试过程中触发的接口信息及接收到的测试数据。
根据接收到的测试指令对各界面模块进行UI测试,在UI测试过程中,利用mitmproxy(man-in-the-middle proxy,中间人代理)拦截、存储UI测试过程中触发的接口信息及测试数据,然后将界面模块涉及的测试数据输入到对应的接口中进行接口测试,获得接口测试结果,根据所述接口测试结果确定界面模块对应的当前显示页面,调取测试数据对应的各界面模块的期望页面,将各界面模块对应的当前显示页面与对应的期望页面进行对比,若存在当前显示页面与期望页面不一致的界面模块,确定测试异常的界面模块信息,各界面模块上均携带有其位置信息,通过确定异常界面模块实现对异常信息的定位。
本实施例提供的方案中,预先将用户界面进行分块处理获得多个界面模块,针对每个界面模块进行UI测试及接口测试,并获得每个界面模块的测试结果,在测试异常时,能够根据测试异常的界面模块对异常信息进行定位,有利于快速定位导致测试异常的原因。
在一种实施例中,步骤S230中根据接口测试结果确定对应的当前显示页面的步骤,可以通过如下方式获取,其流程图如图3所示,包括:
S310,调取预先存储的包括接口测试结果与显示页面之间关联关系的关联列表;
S320,结合当前获得的所述接口测试结果及所述关联列表确定对应的当前显示页面。
在步骤S310之前,服务器端或终端中预先存储接口测试结果与显示页面之间的关联列表,所述关联列表中存储有多组接口测试结果及其关联显示页面,每个接口测试结果对应一个显示页面,一个显示页面可以对应多个接口测试结果,在确定当前显示页面之前,调用该关联列表,以便利用关联列表中的接口测试结果与当前获得的接口测试结果进行对比,根据对比结果快速准确地确定预先存储的当前显示页面。
若正确的显示页面有唯一对应的标准接口测试结果,关联列表中还可以通过如下方式存储关联列表:存储正确的显示页面及其对应的标准接口测试结果,若当前获得的接口测试结果与标准接口测试结果并不一致,则返回表明显示页面有误的当前显示页面。以登录系统过程为例,正确的显示页面为登录成功页面,唯一对应的标准接口测试结果为正确的用户名及密码对应的接口测试结果,本实施例提供的方案与穷举式存储方案相比,能够节约关联列表的存储空间,准确快速地判断当前测试是否有误,提高获得测试结果的效率。
在一种实施例中,获得接口测试结果的步骤之后,还包括:
B1、将接口测试结果与所述测试数据对应的预定的期望值进行对比;
B2、若一致,则返回表征接口测试结果正确的信息;
B3、若不一致,返回表征接口测试结果异常的提醒信息。
本申请实施例提供的方案,获得接口测试结果之后,对比所述接口测试结果与预先设定的测试数据对应的期望值,根据对比结果确定接口测试结果是否异常,若接口测试结果与期望值一致,则表明接口测试结果正确,返回表明接口测试结果正确的信息,若不一致,则表明接口测试结果不正确,返回表征接口测试结果异常的提醒信息,以便系统及时根据提醒信息进行测试过程的修正。
具体地,根据接收到的测试指令对目标程序进行UI测试的步骤,可以通过如下方式进行,其流程图如图4所示,包括:
S410,接收携带目标程序标识的测试指令,响应于所述测试指令,爬取UI测试对应的目标程序的页面元素及测试数据;
S420,根据所述页面元素及测试数据进行UI测试,获取UI测试结果。
其中,根据接收到的测试指令对目标程序进行UI测试的过程如下:接收携带目标程序标识的测试指令,所述测试指令用于指示终端对目标程序进行测试,根据所述测试指令对所述目标程序进行UI测试,获取UI测试结果。解析目标程序的用户界面,获取用户界面中的界面元素及界面元素的定位数据,所述界面元素包括但不限于,登录页面、启动页面、页面按钮、文本输入口、下拉框、复选框、超链接、文字、图片、视频等。根据页面元素及其定位数据生成测试指令,控制用户界面中的界面元素遍历执行测试操作,获取UI测试结果。
在获得UI测试结果之后,本申请实施例提供的方案,还包括:S430,根据测试数据确定UI测试的期望页面,将UI测试结果与本次测试指令对应的期望页面进行比对;S440,若比对结果一致,则UI测试结果正确,返回表征UI测试结果正确的信息;若不一致,则UI测试结果不正确,返回表征UI测试结果异常的提醒信息。
本申请实施例提供的方案,在利用测试指令进行UI测试,获得UI测试结果,并利用测试数据确定UI测试的期望页面,根据当前UI测试的测试结果与期望页面相比较,判断UI测试结果的正确性,明确UI测试结果是否有误,以便及时校正异常的UI测试过程。
上述实施例提供的方案,利用接口测试结果判断当前接口测试过程是否有误,利用UI测试结果判断当前UI测试过程是否有误,除此之外,本申请还能利用UI测试结果与接口测试结果判断当前测试过程是否存在异常,可以通过如下方式获取,其流程图如图5所示,包括:
S510,调取包括UI测试结果与接口测试结果之间关联关系的预设关联列表;
S520,结合所述预设关联列表对比UI测试结果与所述接口测试结果;
S530,若比对结果为所述UI测试结果与所述接口测试结果不一致,发送表征自动化测试异常的提醒信息。
进一步地,判断出自动化测试异常的步骤之后,还可以进一步明确异常原因,包括:
S540,根据所述测试数据确定UI测试结果的期望页面及接口测试的期望值;
S550,对比UI测试结果与其对应的期望页面,确定UI测试结果的正确性;
S560,对比接口测试结果与其对应的期望值,确定接口测试结果的正确性。
以登录系统的操作为例,若UI测试结果为登录成功,而接口测试结果为登录失败,即UI测试结果与接口测试结果不一致,表明自动化测试过程中出现测试异常,可能是UI测试过程异常导致的,也可能是接口测试异常导致的,甚至有可能是偶然因素或病毒导致的。测试过程没有问题的情况下,UI测试结果与接口测试结果必然是相同的,因此,可以利用UI测试结果与接口测试结果进行相互验证,避免调用测试过程的UI测试过程的期望值或接口测试的期望值,提高测试效率。
本实施例提供的方案,以登录系统过程中进行的自动化测试为例,过程如下:在登录指令的指示下执行对登录目标程序的UI测试,获取UI测试结果,监听并保存登录接口信息及测试数据,包括登录的用户名、密码等测试数据,获取登录过程涉及的所有接口信息,将测试数据作为入参输入对应的接口中,并在测试指令的指示下进行接口测试,获取接口测试结果,利用UI测试结果与接口测试结果进行对比,若两种测试结果不匹配,则表明自动化测试异常。
若自动化测试异常,分别进行UI测试与接口测试,对UI测试结果与接口测试结果进行相互验证,在UI测试结果与接口测试结果不一致时,依次调用UI测试结果对应的期望值及接口测试结果对应的期望值,根据UI测试结果与其期望值的对比结果或接口测试结果与其期望值的对比结果确定导致测试异常的异常因素。
本实施例提供的方案,首先利用UI测试结果与接口测试结果进行相互验证,结合两个测试层面上的测试结果进行测试验证,提高系统的安全及稳定性,提高测试效率及测试准确性。再利用UI接口测试结果/接口测试结果与对应的期望值进行对比,实现测试异常的异常原因的准确定位。
另一种实施例中,在利用两种测试结果进行相互验证之前,分别利用测试结果与期望值进行对比,确认UI测试过程是否异常以及接口测试是否异常,若任一过程异常,重新加载测试过程的配置文件二次执行测试文件,在两种测试结果与期望值均一致的情况下,进行UI测试结果与接口测试结果之间的相互验证,避免测试两种测试结果的测试结果不一致导致的登录失败。
上述实施例提供的方案用于进行自动化测试,获取测试结果,若测试结果出现异常,则可以通过校正当前显示界面实现对测试的修正,一种实施例中,所述校正当前显示界面的步骤,包括:
C1、若所述当前显示页面与期望页面不一致,获取当前显示界面与期望页面不一致的异常信息;
C2、根据所述异常信息调整接口测试过程中的配置文件;
将所述测试数据输入到对应的接口中进行接口测试,获得接口测试结果;根据所述测试结果确定对应的当前显示页面,包括:
C3、利用调整后的配置文件,将所述测试数据输入到对应的接口中进行接口测试,获得修正后的接口测试结果;
C4、根据修正后的接口测试结果确定修正后的当前显示页面。
其中,异常信息包括当前显示界面上的任一位置的显示信息与期望页面不一致,如标识信息无法显示或者标识信息的显示位置异常等。
当前显示界面与期望页面不一致,表明当前接口测试结果异常,接口测试异常,根据异常信息调整接口测试过程中的配置文件,可能是接口加载过程中加载了错误的配置文件,或者重复加载执行导致页面信息重复显示。因此,本申请调整接口测试过程中加载的配置文件,利用调整后的配置文件进行接口测试,调整后的配置文件进行接口测试时,获得二次接口测试的显示页面,根据二次接口测试的显示页面修正或替换当前显示页面。
本申请提供的方案,针对测试异常的测试数据,校正当前显示页面或校正获得该测试数据的测试文件,实现对测试异常结果的修正。
以上为本申请提供的自动化测试方法的实施例,针对于该方法,下面阐述与其对应的自动化测试装置的实施例。
本申请实施例还提供了一种自动化测试装置,其结构示意图如图6所示,包括:UI测试模块610、接口测试模块620、确定当前显示页面模块630、对比模块640、获得测试结果模块650,具体如下:
UI测试模块610,用于根据接收到的测试指令对目标程序进行UI测试,监听并获取进行UI测试时触发的接口信息及测试数据;
接口测试模块620,用于将所述测试数据输入到对应的接口中进行接口测试,获得接口测试结果;
确定当前显示页面模块630,用于根据所述接口测试结果确定对应的当前显示页面;
对比模块640,用于调取所述测试数据对应的期望页面,对比所述当前显示页面与期望页面;
获得测试结果模块650,用于根据对比结果获取自动化测试结果。
关于上述实施例中的自动化测试装置,其中各个模块的执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
进一步地,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述任意一项所述的自动化测试方法的步骤。其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
更进一步地,本申请实施例还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的自动化测试方法的步骤。
图7是根据一示例性实施例示出的一种用于计算机设备700的框图。例如,计算机设备700可以被提供为服务器。参照图7,计算机设备700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行上述自动化测试方法的步骤。
计算机设备700还可以包括一个电源组件726被配置为执行计算机设备700的电源管理,一个有线或无线网络接口750被配置为将计算机设备700连接到网络,和一个输入输出(I/O)接口758。计算机设备700可以操作基于存储在存储器732的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解的是,在本申请各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (7)

1.一种自动化测试方法,其特征在于,包括:
接收携带目标程序标识的测试指令,响应于所述测试指令,爬取UI测试对应的目标程序的页面元素及测试数据;
根据所述页面元素及测试数据进行UI测试,获取UI测试结果,监听并获取进行UI测试时触发的接口信息及测试数据;
将所述测试数据输入到对应的接口中进行接口测试,获得接口测试结果;
调取预先存储的包括接口测试结果与显示页面之间关联关系的关联列表;
结合当前获得的所述接口测试结果及所述关联列表确定对应的当前显示页面;
调取所述测试数据对应的期望页面,对比所述当前显示页面与期望页面;
根据对比结果获取自动化测试结果;
调取包括所述UI测试结果与所述接口测试结果之间关联关系的预设关联列表;
结合所述预设关联列表对比所述UI测试结果与所述接口测试结果;
若比对结果为所述UI测试结果与所述接口测试结果不一致,发送表征自动化测试异常的提醒信息。
2.根据权利要求1所述的自动化测试方法,其特征在于,所述根据接收到的测试指令对目标程序进行UI测试的步骤之前,还包括:
将所述目标程序的用户界面划分为多个界面模块;
所述监听并获取进行UI测试时触发的接口信息及测试数据的步骤,包括:
监听并获取进行UI测试时各界面模块触发的接口信息及测试数据。
3.根据权利要求1所述的自动化测试方法,其特征在于,所述获得接口测试结果的步骤之后,还包括:
将接口测试结果与所述测试数据对应的预定的期望值进行对比;
若一致,则返回表征接口测试结果正确的信息;
若不一致,则返回表征接口测试结果异常的提醒信息。
4.根据权利要求1所述的自动化测试方法,其特征在于,所述根据对比结果获取自动化测试结果的步骤之后,还包括:
若所述当前显示页面与期望页面不一致,获取当前显示界面与期望页面不一致的异常信息;
根据所述异常信息调整接口测试过程中的配置文件;
将所述测试数据输入到对应的接口中进行接口测试,获得接口测试结果;根据所述接口测试结果确定对应的当前显示页面,包括:
利用调整后的配置文件,将所述测试数据输入到对应的接口中进行接口测试,获得修正后的接口测试结果;
根据修正后的接口测试结果确定修正后的当前显示页面。
5.一种自动化测试装置,其特征在于,包括:
UI测试模块,用于接收携带目标程序标识的测试指令,响应于所述测试指令,爬取UI测试对应的目标程序的页面元素及测试数据;根据所述页面元素及测试数据进行UI测试,获取UI测试结果,监听并获取进行UI测试时触发的接口信息及测试数据;
接口测试模块,用于将所述测试数据输入到对应的接口中进行接口测试,获得接口测试结果;
确定当前显示页面模块,用于调取预先存储的包括接口测试结果与显示页面之间关联关系的关联列表;结合当前获得的所述接口测试结果及所述关联列表确定对应的当前显示页面;
对比模块,用于调取所述测试数据对应的期望页面,对比所述当前显示页面与期望页面;
获得测试结果模块,用于根据对比结果获取自动化测试结果;
UI测试模块,还用于调取包括所述UI测试结果与所述接口测试结果之间关联关系的预设关联列表;
所述对比模块,还用于结合所述预设关联列表对比所述UI测试结果与所述接口测试结果;若比对结果为所述UI测试结果与所述接口测试结果不一致,发送表征自动化测试异常的提醒信息。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1至4中任一项所述的自动化测试方法的步骤。
7.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至4中任一项所述的自动化测试方法的步骤。
CN201911150375.5A 2019-11-21 2019-11-21 自动化测试方法、装置、存储介质及设备 Active CN110908909B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911150375.5A CN110908909B (zh) 2019-11-21 2019-11-21 自动化测试方法、装置、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911150375.5A CN110908909B (zh) 2019-11-21 2019-11-21 自动化测试方法、装置、存储介质及设备

Publications (2)

Publication Number Publication Date
CN110908909A CN110908909A (zh) 2020-03-24
CN110908909B true CN110908909B (zh) 2023-09-22

Family

ID=69818345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911150375.5A Active CN110908909B (zh) 2019-11-21 2019-11-21 自动化测试方法、装置、存储介质及设备

Country Status (1)

Country Link
CN (1) CN110908909B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367816B (zh) * 2020-03-25 2021-04-02 上海复深蓝软件股份有限公司 移动测试方法、装置、计算机设备及存储介质
CN111552634A (zh) * 2020-03-30 2020-08-18 深圳壹账通智能科技有限公司 前端系统的测试方法、装置及存储介质
CN111782514A (zh) * 2020-06-23 2020-10-16 京东数字科技控股有限公司 一种测试数据的比对方法和装置
CN112256984B (zh) * 2020-10-22 2022-09-30 上海万物新生环保科技集团有限公司 一种网页对应的接口托底截图的获取方法及设备
CN113238966A (zh) * 2021-06-22 2021-08-10 中国农业银行股份有限公司 报表平台前端测试方法、装置、设备及存储介质
CN113360414A (zh) * 2021-07-20 2021-09-07 深圳前海微众银行股份有限公司 软件测试方法、设备、可读存储介质及计算机程序产品
CN114679402B (zh) * 2022-03-25 2024-05-14 武汉联影智融医疗科技有限公司 一种医疗机器人上下位机间通信协议的测试方法及装置
CN114721970B (zh) * 2022-06-08 2022-10-04 易方信息科技股份有限公司 建设接口自动化测试及精准测试的方法及装置
CN115774679B (zh) * 2023-01-31 2023-04-28 深圳依时货拉拉科技有限公司 Ab实验回归测试方法、装置和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622017A (zh) * 2017-10-13 2018-01-23 深圳市视维科技股份有限公司 一种通用自动化软件测试的解析方法
CN108255730A (zh) * 2018-01-23 2018-07-06 平安普惠企业管理有限公司 软件接口测试方法、测试设备、存储介质及装置
CN108399119A (zh) * 2017-02-06 2018-08-14 腾讯科技(深圳)有限公司 浏览服务内核引擎数据处理、自动化测试的方法和装置
CN109815126A (zh) * 2018-12-21 2019-05-28 浙江数链科技有限公司 软件测试方法、装置、计算机设备和存储介质
CN109828903A (zh) * 2018-12-14 2019-05-31 中国平安人寿保险股份有限公司 自动化测试方法、装置、计算机装置及存储介质
CN110134612A (zh) * 2019-05-17 2019-08-16 深圳前海微众银行股份有限公司 Ui测试数据生成方法、装置、设备及可读存储介质
CN110457218A (zh) * 2019-08-07 2019-11-15 Oppo广东移动通信有限公司 游戏引擎测试方法、装置、存储介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9465726B2 (en) * 2013-06-05 2016-10-11 Vmware, Inc. Abstract layer for automatic user interface testing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399119A (zh) * 2017-02-06 2018-08-14 腾讯科技(深圳)有限公司 浏览服务内核引擎数据处理、自动化测试的方法和装置
CN107622017A (zh) * 2017-10-13 2018-01-23 深圳市视维科技股份有限公司 一种通用自动化软件测试的解析方法
CN108255730A (zh) * 2018-01-23 2018-07-06 平安普惠企业管理有限公司 软件接口测试方法、测试设备、存储介质及装置
CN109828903A (zh) * 2018-12-14 2019-05-31 中国平安人寿保险股份有限公司 自动化测试方法、装置、计算机装置及存储介质
CN109815126A (zh) * 2018-12-21 2019-05-28 浙江数链科技有限公司 软件测试方法、装置、计算机设备和存储介质
CN110134612A (zh) * 2019-05-17 2019-08-16 深圳前海微众银行股份有限公司 Ui测试数据生成方法、装置、设备及可读存储介质
CN110457218A (zh) * 2019-08-07 2019-11-15 Oppo广东移动通信有限公司 游戏引擎测试方法、装置、存储介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AMOGA: A Static-Dynamic Model Generation Strategy for Mobile Apps Testing;IBRAHIM-ANKA SALIHU等;《IEEE Access 》;第7卷;第17158 - 17173页 *

Also Published As

Publication number Publication date
CN110908909A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
CN110908909B (zh) 自动化测试方法、装置、存储介质及设备
CN111026645B (zh) 用户界面自动化测试方法、装置、存储介质及电子设备
CN110765026B (zh) 自动化测试方法、装置、存储介质及设备
US10698797B2 (en) Mobile application program testing method, server, terminal, and storage medium
CN109165170B (zh) 一种自动化请求测试的方法及系统
CN109510742B (zh) 一种服务器网卡远程测试方法、装置、终端及存储介质
CN110058998B (zh) 软件测试方法及装置
CN110119350B (zh) 软件开发工具包测试方法、装置和设备及计算机存储介质
CN110833693B (zh) 游戏运行方法和装置、存储介质及电子装置
US20180357143A1 (en) Testing computing devices
CN112114897B (zh) 基于工控屏的参数配置方法、装置和计算机设备
CN109669859A (zh) 服务测试方法、装置、计算机设备和存储介质
CN110798376A (zh) 接口测试方法、装置、计算机设备和存储介质
CN112506758A (zh) 固件刷新方法、装置、计算机设备和存储介质
CN115827111A (zh) 服务器启动项的调整方法和装置、存储介质及电子装置
CN110399723B (zh) 漏洞检测方法和装置、存储介质及电子装置
CN114860613A (zh) 一种自动化测试方法及装置
CN109067605B (zh) 一种存储子系统故障诊断方法、装置、终端及存储介质
CN110134558B (zh) 一种服务器的检测方法和装置
WO2016201997A1 (zh) 一种自动化测试的方法、装置及系统
CN111159048A (zh) 应用程序的测试方法、装置及计算机可读存储介质
CN116166536A (zh) 一种测试方法、装置、电子设备及存储介质
CN111597101B (zh) Sdk接入状态检测方法、计算机设备及计算机可读存储介质
JP2018190324A (ja) 比較プログラム、比較装置及び比較方法
CN114218072A (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