CN113742240A - 用户界面测试方法、装置、存储介质和电子设备 - Google Patents
用户界面测试方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN113742240A CN113742240A CN202111077602.3A CN202111077602A CN113742240A CN 113742240 A CN113742240 A CN 113742240A CN 202111077602 A CN202111077602 A CN 202111077602A CN 113742240 A CN113742240 A CN 113742240A
- Authority
- CN
- China
- Prior art keywords
- test
- user interface
- testing
- script
- tested
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供了一种用户界面测试方法、装置、存储介质和电子设备,涉及计算机技术领域。该用户界面测试方法通过获取的测试预处理脚本将待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素,然后基于多个动态页面元素生成针对待测试用户界面的测试工作流,最后将测试工作流发送至测试终端,以供测试终端从测试程序数据库中调用与测试工作流对应的至少一个测试程序,对待测试用户界面进行自动化测试。解决了现有技术中存在的目前针对用户界面的测试方法效果均不佳的技术问题,从无需人工进行测试,以及无需人工进行功能测试脚本扩展两个维度共同提高了用户界面的测试效率,从而达到了提高用户界面测试效果的技术效果。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种用户界面测试方法、装置、存储介质和电子设备。
背景技术
用户界面(User Interface,简称UI)是用户与电子设备进行交互的重要途径之一,也是影响用户体验的重要因素之一,因此,在任何产品上线之前必须对其用户界面进行严格的测试,以保证用户在使用时与用户界面进行交互的稳定性与流畅性等。
目前针对用户界面的测试主要包括两种方式:第一种方式:通过人工完成用户界面的页面测试;第二种方式,通过UI自动化工具(例如QTP、Selenium等)进行测试,但是目前大多数用户界面中的页面操作与页面流程强关联,从而导致自动化测试工具复用性低,在每次测试时仍需要人工进行脚本扩展,复杂性较高。
因此,目前针对用户界面的测试方法效果均不佳。
发明内容
本公开提供了一种用户界面测试方法、装置、存储介质和电子设备,进而提高针对用户界面的测试效果。
第一方面,本公开一个实施例提供了一种用户界面测试方法,该方法包括:
获取针对待测试用户界面录制的测试预处理脚本;
基于测试预处理脚本将待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素;其中,静态页面元素是指用户界面中用于向用户展示的元素;动态页面元素是指用户界面中用于响应不同页面之间切换的元素;
基于多个动态页面元素生成针对待测试用户界面的测试工作流;
将测试工作流发送至测试终端;其中,测试工作流用于指示测试终端从测试程序数据库中调用与测试工作流对应的至少一个测试程序,以对待测试用户界面进行自动化测试。
在本公开一个可选的实施例中,获取针对待测试用户界面录制的测试预处理脚本,包括:
获取测试终端录制的针对初始用户界面的初始测试脚本;
获取测试终端发送的新增测试脚本;其中,新增测试脚本是指针对初始用户界面新增模块录制的测试脚本;
将新增测试脚本增加至初始测试脚本,得到测试预处理脚本。
在本公开一个可选的实施例中,基于测试预处理脚本将待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素,包括:
基于页面元素识别脚本识别待测试用户界面中的各页面元素,得到多个页面元素;
基于测试预处理脚本中的元素划分子脚本,将多个页面元素划分为静态页面元素与动态页面元素。
在本公开一个可选的实施例中,基于多个动态页面元素生成针对待测试用户界面的测试工作流,包括:
基于测试预处理脚本中的分析子脚本,确定多个动态页面元素之间的交互关系;
基于多个动态页面元素,以及多个动态页面元素之间的交互关系生成针对待测试用户界面的测试工作流。
在本公开一个可选的实施例中,在将测试工作流发送至测试终端之前,该方法还包括:
获取各测试程序对应的预设验证信息;其中,预设验证信息是指动态页面元素在响应不同页面之间切换时使用的验证参数;
将测试工作流与各预设验证信息发送至测试终端。
在本公开一个可选的实施例中,将测试工作流与各预设验证信息发送至测试终端,包括:
将预设验证信息划分为全局验证信息与局部验证信息;其中,全局验证信息是指在自动化测试过程中使用次数超过预设阈值的验证信息;局部验证信息是指在自动化测试过程中使用次数未超过预设阈值的验证信息;
分别将全局验证信息与局部验证信息发送至测试终端。
在本公开一个可选的实施例中,对待测试用户界面进行自动化测试,包括如下步骤中的至少一种:
对待测试用户界面进行商品新增功能的自动化测试;
对待测试用户界面进行商品修改功能的自动化测试;
对待测试用户界面进行商品查看功能的自动化测试。
第二方面,本公开一个实施例提供了一种用户界面测试装置,该装置包括:
获取模块,用于获取针对待测试用户界面录制的测试预处理脚本;
元素划分模块,用于基于测试预处理脚本将待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素;其中,静态页面元素是指用户界面中用于向用户展示的元素;动态页面元素是指用户界面中用于响应不同页面之间切换的元素;
工作流生成模块,用于基于多个动态页面元素生成针对待测试用户界面的测试工作流;
发送模块,用于将测试工作流发送至测试终端;其中,测试工作流用于指示测试终端从测试程序数据库中调用与测试工作流对应的至少一个测试程序,以对待测试用户界面进行自动化测试。
第三方面,本公开一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上的方法。
第四方面,本公开一个实施例提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行如上的方法。
本公开的技术方案具有以下有益效果:
上述用户界面测试方法通过获取得到的测试预处理脚本将待测试用户界面中的各页面元素划分为多个用于向用户展示的静态页面元素与多个响应不同页面之间切换的动态页面元素,然后基于得到的多个动态页面元素生成针对待测试用户界面的测试工作流,并将该测试工作流发送至测试终端,测试终端只需要根据该测试工作流从测试程序数据库中调用与测试工作流对应的至少一个测试程序,便可实现对待测试用户界面进行自动化测试。在测试过程中无需人工参与,同时,测试工作流是基于动态页面元素形成的,动态页面元素可以准确的表征各页面之间的交互关系或切换状态,因此,在测试过程中,无需在每次在用户界面新增功能后通过进行人工扩展对应地功能测试脚本。本公开实施例解决了现有技术中存在的目前针对用户界面的测试方法效果均不佳的技术问题,从无需人工进行测试,以及无需人工进行功能测试脚本扩展两个维度共同提高了用户界面的测试效率,从而达到了提高用户界面测试效果的技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种用户界面测试方法的应用场景示意图;
图2示出本示例性实施方式中一种用户界面测试方法的流程图;
图3示出本示例性实施方式中一种用户界面测试方法的流程图;
图4示出本示例性实施方式中一种用户界面测试方法的流程图;
图5示出本示例性实施方式中一种用户界面测试方法的流程图;
图6示出本示例性实施方式中一种用户界面测试方法的流程图;
图7示出本示例性实施方式中一种用户界面测试方法的流程图;
图8示出本示例性实施方式中一种用户界面测试方法的流程图;
图9示出本示例性实施方式中一种用户界面测试装置结构示意图;
图10示出本示例性实施方式中一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例性实施方式。然而,示例性实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例性实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
相关技术中,用户界面(UI)是用户与电子设备进行交互的重要途径之一,也是影响用户体验的重要因素之一,因此,在任何产品上线之前必须对其用户界面进行严格的测试,以保证用户在使用时与用户界面进行交互的稳定性与流畅性等。目前针对用户界面的测试主要包括两种方式:第一种方式:通过人工完成用户界面的页面测试;第二种方式,通过UI自动化工具(例如QTP、Selenium等)进行测试,但是目前大多数用户界面中的页面操作与页面流程强关联,从而导致自动化测试工具复用性低,在每次测试时仍需要人工进行脚本扩展,复杂性较高。因此,目前针对用户界面的测试方法效果均不佳。
鉴于上述问题,本公开实施例提供了一种用户界面测试方法,通过获取得到的测试预处理脚本将待测试用户界面中的各页面元素划分为多个用于向用户展示的静态页面元素与多个响应不同页面之间切换的动态页面元素,然后基于得到的多个动态页面元素生成针对待测试用户界面的测试工作流,并将该测试工作流发送至测试终端,测试终端只需要根据该测试工作流从测试程序数据库中调用与测试工作流对应的至少一个测试程序,便可实现对待测试用户界面进行自动化测试。在测试过程中无需人工参与,同时,测试工作流是基于动态页面元素形成的,动态页面元素可以准确的表征各页面之间的交互关系或切换状态,因此,在测试过程中,无需在每次在用户界面新增功能后通过进行人工扩展对应地功能测试脚本。本公开实施例解决了现有技术中存在的目前针对用户界面的测试方法效果均不佳的技术问题,从无需人工进行测试,以及无需人工进行功能测试脚本扩展两个维度共同提高了用户界面的测试效率,从而达到了提高用户界面测试效果的技术效果。
以下对本公开实施例提供的用户界面测试方法的应用环境作简单介绍:
请参见图1,本公开实施例提供的用户界面测试方法应用于用户界面测试***10,该用户界面测试***10至少包括:开发终端101、测试终端102与处理终端103。其中,该开发终端101用于开发人员开发新的产品功能或模块,例如新增商品信息、促销信息、商品编码等,开发针对不同页面元素,例如文本框、按钮、图标、菜单等进行测试的测试程序,以及录制针对各功能的测试预处理脚本等;处理终端103用于接收开发终端101录制的测试预处理脚本,并基于该测试预处理脚本生成针对待测试用户界面的测试工作流,并将该测试工作流发送至测试终端102;测试终端102用于接收处理终端103发送的目标工作流,以及开发终端101提供的测试程序数据库,并基于该目标工作流与该测试程序数据库中的各测试程序对待测试用户界面进行自动化测试。
下面以上述处理终端103为执行主体,将该用户界面测试方法应用于上述的处理终端103,对待测试用户界面进行测试为例进行举例说明。请参见图2,本公开实施例提供的用户界面测试方法包括如下步骤201-步骤204。
步骤201、处理终端获取针对待测试用户界面录制的测试预处理脚本。
其中,该测试预处理脚本由开发人员或测试人员提前录制,并存储于测试终端,然后发送至处理终端,该测试预处理脚本用于对待测试用户界面进行预处理,例如页面元素识别、页面元素分类、确定不同页面之间的交互关系等。本公开实施例对该测试预处理脚本的具体内容或形式均不作限定,可由开发人员或测试人员根据实际情况具体编写,只需要满足可以实现对待测试用户界面中的各页面元素进行识别、分类、确定交互关系等的功能即可。
步骤202、处理终端基于测试预处理脚本将待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素。
其中,静态页面元素是指用户界面中用于向用户展示的元素,例如用于表征商品名称、商品数量、用户名称等信息的文本框和按钮等。动态页面元素是指用户界面中用于响应不同页面之间切换的元素,例如用于表征“退出”、“提交”、“登录”、“新增”、“完成”、“结束”等页面切换动作的图标等。
步骤203、处理终端基于多个动态页面元素生成针对待测试用户界面的测试工作流。
例如,静态页面元素包括:菜单列表、商品信息展示文本框等;动态页面元素包括:新增按钮、保存按钮和提交按钮等。由此可见,静态页面元素用于展示当前商品的基本信息,一旦点击动态页面元素后,页面将会从一个页面切换至另一个页面。例如,点击新增按钮,则从当前展示商品基本信息的第一页面切换至包含有多个输入文本框的第二页面,以供输入需要新增的文本信息;在输入完成对应的文本信息后,点击保存按钮,则将当前可以输入文本信息的文本框锁定为不能修改的状态,然后点击“提交”按钮,则当前页面从第二页面切换至半含有新增信息的第三页面。
换句话说,测试工作流包括多个交互节点,每个交互节点本质上就是一个动态页面元素与页面切换之间的对应关系,例如上述步骤203中,第一页面的新增按钮对应的是由第一页面切换至第二页面;保存按钮对应的在第二页面将新增的文本信息保存至第二页面中的商品菜单列表中,第二页面的提交按钮对应的是由第二页面切换至第三页面。
由此可见,动态页面元素表征当前各页面元素,以及各页面之间的交互关系,因此,将各动态页面元素之间的交互关系确定为待测试用户界面的测试工作流。该测试工作流用于指示对待测用户界面的测试流顺序或者测试流程。
步骤204、处理终端将测试工作流发送至测试终端。
其中,测试工作流用于指示测试终端从测试程序数据库中调用与测试工作流对应的至少一个测试程序,以对待测试用户界面进行自动化测试。
处理终端基于步骤203得到测试工作流后,将该测试工作流发送至测试终端,测试终端然后从预先存储的测试程序数据库中调用与测试工作流中每个动态页面元素或者说每个交互节点对应地测试程序。例如针对如上步骤203中的新增按钮,对应新增的是用于商品信息输入的文本框,对应的测试程序应该为文本框测试程序;保存按钮与提交按钮对应的是新增商品信息后形成的新的菜单列表,对应的测试程序为菜单测试程序;对应的,处理终端从测试程序数据库中调用文本框测试程序与菜单列表测试程序依次进行测试。
本公开实施例提供了一种用户界面测试方法,通过获取得到的测试预处理脚本将待测试用户界面中的各页面元素划分为多个用于向用户展示的静态页面元素与多个响应不同页面之间切换的动态页面元素,然后基于得到的多个动态页面元素生成针对待测试用户界面的测试工作流,并将该测试工作流发送至测试终端,测试终端只需要根据该测试工作流从测试程序数据库中调用与测试工作流对应的至少一个测试程序,便可实现对待测试用户界面进行自动化测试。在测试过程中无需人工参与,同时,测试工作流是基于动态页面元素形成的,动态页面元素可以准确的表征各页面之间的交互关系或切换状态,因此,在测试过程中,无需在每次在用户界面新增功能后通过进行人工扩展对应地功能测试脚本。本公开实施例解决了现有技术中存在的目前针对用户界面的测试方法效果均不佳的技术问题,从无需人工进行测试,以及无需人工进行功能测试脚本扩展两个维度共同提高了用户界面的测试效率,从而达到了提高用户界面测试效果的技术效果。
请参见图3,在本公开一个可选的实施例中,上述步骤201处理终端获取针对待测试用户界面录制的测试预处理脚本,包括如下步骤301-步骤303:
步骤301、处理终端获取测试终端录制的针对初始用户界面的初始测试脚本。
其中,初始用户界面是指在对用户界面进行更新之前的用户界面,而该初始测试脚本是指开发人员或测试人员针对该初始用户界面录制的预处理脚本,并存储于测试终端。该预处理脚本用于对该初始用户界面中的各页面元素进行如页面元素识别、页面元素分类、确定不同页面之间的交互关系等功能。
步骤302、处理终端获取测试终端发送的新增测试脚本。
其中,新增测试脚本是指针对初始用户界面新增功能模块录制的测试脚本,例如在初始用户界面上新增一个“商品条形码”文本框形成新的用户界面,也就是得到待测试用户界面;在测试终端,对应每一个新增的功能模块,对应会录制该功能模块对应的测试脚本,也就是本实施例中的新增测试脚本。
步骤303、处理终端将新增测试脚本增加至初始测试脚本,得到测试预处理脚本。
处理设备通过步骤302得到该针对新增模块的新增测试脚本后,将该新增测试脚本更新至针对初始用户界面的初始测试脚本中,便可得到针对更新后的新的用户界面的测试预处理脚本。
本公开实施例针对用户界面中的每个新增功能模块单独录制新增测试脚本,然后将得到的新增测试脚本实时更新至初始测试脚本中,后续基于得到的初始测试脚本对更新后的用户界面进行预处理即可,而无需每次更新用户界面中的部分功能模块时都需要开发人员参与重新编写全部测试脚本,从而大大提高用户界面测试的测试效率与测试便利性,也在一定程度降低了人工成本。
请参见图4,在本公开一个可选的实施例中,上述步骤202处理终端基于测试预处理脚本将待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素,包括如下步骤401-步骤402:
步骤401、处理终端基于页面元素识别脚本识别待测试用户界面中的各页面元素,得到多个页面元素。
其中,该页面元素识别脚本可以直接使用现有的页面对象识别控件,例如OCR识别程序、selenium录制器等,或者也可以由开发人员根据实际情况自主设计等均可,本实施例不作具体限定。处理终端基于该页面元素识别脚本识别待测试用户界面中的各页面元素,得到识别结果,也就是多个页面元素,例如文本框、按钮、菜单列表、图标等。
步骤402、处理终端基于测试预处理脚本中的元素划分子脚本,将多个页面元素划分为静态页面元素与动态页面元素。
其中,上述的测试预处理脚本至少包括两部分,元素划分子脚本和分析子脚本。其中,元素划分子脚本将步骤401得到的多个页面元素按照静态页面元素与动态页面元素进行拆解,并进一步聚类封装,以方便后续方便对动态页面元素之间的交互关系进行分析处理,以形成测试工作流。
本公开实施例先基于页面元素识别脚本对待测试用户界面中的各页面元素进行识别,以得到多个页面元素,然后再通过测试预处理脚本中的元素划分子脚本将多个页面元素划分为静态页面元素与动态页面元素。本公开实施例先通过元素识别脚本对待测试用户界面中的所有页面元素进行一一识别,可以避免因人工处理而导致的遗漏,可以进一步提高本公开实施例提供的用户界面测试的可靠性。
请参见图5,在本公开一个可选的实施例中,上述步骤203处理终端基于多个动态页面元素生成针对待测试用户界面的测试工作流,包括如下步骤501-步骤502:
步骤501、处理终端基于测试预处理脚本中的分析子脚本,确定多个动态页面元素之间的交互关系。
如上步骤402,测试预处理脚本至少包括两部分,元素划分子脚本和分析子脚本。其中,该分析子脚本用于确定不同动态页面元素之间的交互关系。例如,如上步骤203中,第一页面的新增按钮对应的是由第一页面切换至第二页面;保存按钮对应的在第二页面将新增的文本信息保存至第二页面中的商品菜单列表中,第二页面的提交按钮对应的是由第二页面切换至第三页面。则三个按钮之间的交互顺序,也就是交互关系依次为:新增按钮-保存按钮-提交按钮。其中,新增按钮-保存按钮-提交按钮这三者之间的交互关系可以是预先设定的,例如多个动态页面元素包括新增按钮和提交按钮,则按照该预先设定的交互关系对这两个动态页面元素进行排序为:新增按钮-提交按钮,即对识别得到的多个动态页面元素之间的交互关系。
步骤502、处理终端基于多个动态页面元素,以及多个动态页面元素之间的交互关系生成针对待测试用户界面的测试工作流。
处理终端通过步骤501得到各动态页面元素之间的交互关系,然后就可以按照其交互的顺序生成针对待测试用户界面的测试工作流,以方便后续对待测试用户界面进行自动化测试。
本公开实施例先基于测试预处理脚本中的分析子脚本确定得到多个动态页面元素之间的交互关系,然后基于各动态页面元素之间的交互关系生成针对待测试用户界面的测试工作流,可以保证生成的测试工作流与各动态页面元素之间交互关系的一致性,进一步提高本公开实施例用户界面测试的可靠性。
请参见图6,在本公开一个可选的实施例中,在上述步骤204处理终端将测试工作流发送至测试终端之前,该方法还包括如下步骤601-步骤602:
步骤601、处理终端获取各测试程序对应的预设验证信息。
其中,预设验证信息是指动态页面元素在响应不同页面之间切换时使用的验证参数,例如:用户名、密码、手机号码、生日、web服务地址、gif地址等。该预设验证的具体种类根据实际用户界面自主选择或者设定,本实施例不作具体限定。
步骤602、处理终端将测试工作流与各预设验证信息发送至测试终端。
处理终端将测试工作流与各预设验证信息发送至测试终端后,测试终端基于该测试工作流对待测试用户界面进行自动化测试,在测试过程中执行某个测试程序时,便可以方便的调用该测试程序对应的预设验证信息,无需在整个测试过程中携带所有的验证信息,从而大大提高测试的便利性。
请参见图7,在本公开一个可选的实施例中,上述步骤602处理终端将测试工作流与各预设验证信息发送至测试终端,包括:如下步骤701-步骤702:
步骤701、处理终端将预设验证信息划分为全局验证信息与局部验证信息。
其中,全局验证信息是指在自动化测试过程中使用次数超过预设阈值的验证信息;局部验证信息是指在自动化测试过程中使用次数未超过预设阈值的验证信息。换句话说,全局验证信息是指在测试全程需要多次使用的验证信息,例如用户名等;局部验证信息是指在测试过程中只使用少次的验证信息,例如密码等。
步骤702、处理终端分别将全局验证信息与局部验证信息发送至测试终端。
本公开实施例先将预设验证信息划分为在自动化测试过程中使用次数超过预设阈值的全局验证信息,以及在自动化测试过程中使用次数超过预设阈值的局部验证信息,方便在后续进行自动化测试时有选择性的携带验证信息。在自动化测试过程中只需要携带全局验证信息,而无需携带全部验证信息,在需要某个局部验证信息时只需要针对性的调用即可,可以避免在测试过程中携带大量的验证信息而导致的测试效率降低,从而大大提高测试效率以及测试的便利性。
在本公开一个可选的实施例中,上述步骤204处理终端将测试工作流发送至测试终端中,处理终端对待测试用户界面进行自动化测试,包括如下步骤中的至少一种:
处理终端对待测试用户界面进行商品新增功能的自动化测试;处理终端对待测试用户界面进行商品修改功能的自动化测试;处理终端对待测试用户界面进行商品查看功能的自动化测试。本公开实施例可以对商品新增功能、商品修改功能和商品查看功能等进行自动化测试,测试全面性更高。
请参见图8,为本公开实施例提供的用户界面测试整体流程图,开发人员先在开发终端开发初始用户界面,然后测试人员在测试终端录制针对初始用户界面的初始测试脚本,并发送至处理终端。在开发人员针对初始用户界面开发了新增功能模块后,测试人员在测试终端针对该新增功能模块重新录制新增测试脚本,并发送至处理终端。处理终端在得到该新增测试脚本后,结合初始测试脚本先识别更新后的用户界面,也就是包含有新增功能模块的待测用户界面中的各页面元素。接着将多个页面元素划分为静态页面元素与动态页面元素,最后生成针对待测试用户界面的测试工作流,并将该测试工作流发送至测试终端,以进行自动化测试。
请参见图9,为了实现上述业务处理方法,本公开的一个实施例中提供一种用户界面测试装置900,图9示出了用户界面测试装置900的示意性架构图。其中,该用户界面测试装置900包括:获取模块910、元素划分模块920、工作流生成模块930和发送模块940。
该获取模块910,用于获取针对待测试用户界面录制的测试预处理脚本;
该元素划分模块920,用于基于测试预处理脚本将待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素;其中,静态页面元素是指用户界面中用于向用户展示的元素;动态页面元素是指用户界面中用于响应不同页面之间切换的元素;
该工作流生成模块930,用于基于多个动态页面元素生成针对待测试用户界面的测试工作流;
该发送模块940,用于将测试工作流发送至测试终端;其中,测试工作流用于指示测试终端从测试程序数据库中调用与测试工作流对应的至少一个测试程序,以对待测试用户界面进行自动化测试。
在一个可选的实施例中,该获取模块910具体用于,获取测试终端录制的针对初始用户界面的初始测试脚本;获取测试终端发送的新增测试脚本;其中,新增测试脚本是指针对初始用户界面新增模块录制的测试脚本;将新增测试脚本增加至初始测试脚本,得到测试预处理脚本。
在一个可选的实施例中,该元素划分模块920具体用于,基于页面元素识别脚本识别待测试用户界面中的各页面元素,得到多个页面元素;基于测试预处理脚本中的元素划分子脚本,将多个页面元素划分为静态页面元素与动态页面元素。
在一个可选的实施例中,该工作流生成模块930具体用于,基于测试预处理脚本中的分析子脚本,确定多个动态页面元素之间的交互关系;基于多个动态页面元素,以及多个动态页面元素之间的交互关系生成针对待测试用户界面的测试工作流。
在一个可选的实施例中,该发送模块940还用于,获取各测试程序对应的预设验证信息;其中,预设验证信息是指动态页面元素在响应不同页面之间切换时使用的验证参数;将测试工作流与各预设验证信息发送至测试终端。
在一个可选的实施例中,该发送模块940具体用于,将预设验证信息划分为全局验证信息与局部验证信息;其中,全局验证信息是指在自动化测试过程中使用次数超过预设阈值的验证信息;局部验证信息是指在自动化测试过程中使用次数未超过预设阈值的验证信息;分别将全局验证信息与局部验证信息发送至测试终端。
在一个可选的实施例中,该发送模块940具体用于,对待测试用户界面进行商品新增功能的自动化测试;对待测试用户界面进行商品修改功能的自动化测试;对待测试用户界面进行商品查看功能的自动化测试。
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。在本公开实施例中,计算机可读存储介质中存储的程序代码被执行时可以实现如上用户界面测试方法中的任一步骤。
请参见图10,本公开的示例性实施方式还提供了一种电子设备1000,可以是信息平台的后台服务器。下面参考图10对该电子设备进行说明。应当理解,图10显示的电子设备1000仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:至少一个处理单元1010、至少一个存储单元1020、连接不同***组件(包括存储单元1020和处理单元1010)的总线1030。
其中,存储单元存储有程序代码,程序代码可以被处理单元1010执行,使得处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元1010可以执行如图2所示的方法步骤等。
存储单元1020可以包括易失性存储单元,例如随机存取存储单元(RAM)1021和/或高速缓存存储单元1022,还可以进一步包括只读存储单元(ROM)1023。
存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块1025包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以包括数据总线、地址总线和控制总线。
电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口1040进行。电子设备1000还可以通过网络适配器1050与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1050通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
在本公开实施例中,电子设备中存储的程序代码被执行时可以实现如上用户界面测试方法中的任一步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为***、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
Claims (10)
1.一种用户界面测试方法,其特征在于,所述方法包括:
获取针对待测试用户界面录制的测试预处理脚本;
基于所述测试预处理脚本将所述待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素;其中,所述静态页面元素是指所述用户界面中用于向用户展示的元素;所述动态页面元素是指所述用户界面中用于响应不同页面之间切换的元素;
基于所述多个动态页面元素生成针对所述待测试用户界面的测试工作流;
将所述测试工作流发送至测试终端;其中,所述测试工作流用于指示所述测试终端从测试程序数据库中调用与所述测试工作流对应的至少一个测试程序,以对所述待测试用户界面进行自动化测试。
2.根据权利要求1所述的用户界面测试方法,其特征在于,所述获取针对待测试用户界面录制的测试预处理脚本,包括:
获取所述测试终端录制的针对初始用户界面的初始测试脚本;
获取所述测试终端发送的新增测试脚本;其中,所述新增测试脚本是指针对所述初始用户界面新增模块录制的测试脚本;
将所述新增测试脚本增加至所述初始测试脚本,得到所述测试预处理脚本。
3.根据权利要求2所述的用户界面测试方法,其特征在于,所述基于所述测试预处理脚本将所述待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素,包括:
基于页面元素识别脚本识别所述待测试用户界面中的各页面元素,得到多个页面元素;
基于所述测试预处理脚本中的元素划分子脚本,将所述多个页面元素划分为所述静态页面元素与所述动态页面元素。
4.根据权利要求3所述的用户界面测试方法,其特征在于,所述基于所述多个动态页面元素生成针对所述待测试用户界面的测试工作流,包括:
基于所述测试预处理脚本中的分析子脚本,确定所述多个动态页面元素之间的交互关系;
基于所述多个动态页面元素,以及所述多个动态页面元素之间的交互关系生成针对所述待测试用户界面的所述测试工作流。
5.根据权利要求1所述的用户界面测试方法,其特征在于,在所述将所述测试工作流发送至测试终端之前,所述方法还包括:
获取各所述测试程序对应的预设验证信息;其中,所述预设验证信息是指所述动态页面元素在响应不同页面之间切换时使用的验证参数;
将所述测试工作流与各所述预设验证信息发送至所述测试终端。
6.根据权利要求5所述的用户界面测试方法,其特征在于,所述将所述测试工作流与各所述预设验证信息发送至所述测试终端,包括:
将所述预设验证信息划分为全局验证信息与局部验证信息;其中,所述全局验证信息是指在自动化测试过程中使用次数超过预设阈值的验证信息;所述局部验证信息是指在自动化测试过程中使用次数未超过所述预设阈值的验证信息;
分别将所述全局验证信息与所述局部验证信息发送至所述测试终端。
7.根据权利要求1所述的用户界面测试方法,其特征在于,所述对所述待测试用户界面进行自动化测试,包括如下步骤中的至少一种:
对所述待测试用户界面进行商品新增功能的自动化测试;
对所述待测试用户界面进行商品修改功能的自动化测试;
对所述待测试用户界面进行商品查看功能的自动化测试。
8.一种用户界面测试装置,其特征在于,所述装置包括:
获取模块,用于获取针对待测试用户界面录制的测试预处理脚本;
元素划分模块,用于基于所述测试预处理脚本将所述待测试用户界面中的各页面元素划分为多个静态页面元素与多个动态页面元素;其中,所述静态页面元素是指所述用户界面中用于向用户展示的元素;所述动态页面元素是指所述用户界面中用于响应不同页面之间切换的元素;
工作流生成模块,用于基于所述多个动态页面元素生成针对所述待测试用户界面的测试工作流;
发送模块,用于将所述测试工作流发送至测试终端;其中,所述测试工作流用于指示所述测试终端从测试程序数据库中调用与所述测试工作流对应的至少一个测试程序,以对所述待测试用户界面进行自动化测试。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111077602.3A CN113742240A (zh) | 2021-09-14 | 2021-09-14 | 用户界面测试方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111077602.3A CN113742240A (zh) | 2021-09-14 | 2021-09-14 | 用户界面测试方法、装置、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113742240A true CN113742240A (zh) | 2021-12-03 |
Family
ID=78738865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111077602.3A Pending CN113742240A (zh) | 2021-09-14 | 2021-09-14 | 用户界面测试方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742240A (zh) |
-
2021
- 2021-09-14 CN CN202111077602.3A patent/CN113742240A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061526B (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN108959059B (zh) | 一种测试方法以及测试平台 | |
US8549483B1 (en) | Engine for scalable software testing | |
US8881109B1 (en) | Runtime documentation of software testing | |
CN112711526B (zh) | Ui测试方法、装置、设备及存储介质 | |
CN111241111B (zh) | 数据查询方法及装置、数据对比方法及装置、介质及设备 | |
CN113505082B (zh) | 应用程序测试方法及装置 | |
CN112527382B (zh) | 部署流水线引擎***的方法、持续集成的方法及装置 | |
CN110990274A (zh) | 一种生成测试案例的数据处理方法、装置及*** | |
CN111881054A (zh) | 用户界面自动化测试方法、***、设备及存储介质 | |
CN111414309B (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN109710523B (zh) | 视觉稿的测试用例生成方法及装置、存储介质、电子设备 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
US10489728B1 (en) | Generating and publishing a problem ticket | |
CN113836014A (zh) | 一种接口测试方法、装置、电子设备和存储介质 | |
CN112988578A (zh) | 一种自动化测试方法和装置 | |
CN109240928A (zh) | 一种测试方法、装置、设备及存储介质 | |
CN116719736A (zh) | 一种用于测试软件界面的测试用例生成方法及装置 | |
CN112416746A (zh) | 一种测试用例生成方法、装置、设备及介质 | |
CN110609786A (zh) | 软件测试方法、装置、计算机设备和存储介质 | |
CN111258875A (zh) | 界面测试方法及***、电子设备、存储介质 | |
CN113742240A (zh) | 用户界面测试方法、装置、存储介质和电子设备 | |
CN114338846B (zh) | 一种报文测试的方法及装置 | |
CN114546850A (zh) | 一种埋点的自动化测试方法、***、装置及存储介质 | |
CN116467156A (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 |