CN109669873B - 用户界面自动测试方法及装置、电子设备及存储介质 - Google Patents
用户界面自动测试方法及装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109669873B CN109669873B CN201811607303.4A CN201811607303A CN109669873B CN 109669873 B CN109669873 B CN 109669873B CN 201811607303 A CN201811607303 A CN 201811607303A CN 109669873 B CN109669873 B CN 109669873B
- Authority
- CN
- China
- Prior art keywords
- user interface
- position information
- page element
- page
- configuration file
- 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
Links
- 238000010998 test method Methods 0.000 title claims abstract description 11
- 238000012360 testing method Methods 0.000 claims abstract description 195
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000013515 script Methods 0.000 claims abstract description 73
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013459 approach Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 9
- 238000004088 simulation Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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/3684—Test management for test design, e.g. generating new test cases
-
- 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)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及软件产品测试技术领域,公开了一种用户界面自动测试方法及装置、电子设备及存储介质。该用户界面自动测试方法包括:初始化配置文件得到用户界面中的页面元素的位置信息;预先设置自动化测试脚本;触发自动化测试脚本,自动化测试脚本通过调用配置文件获取用户界面中的页面元素的位置信息以实现页面元素的测试。本发明实施方式能够大幅简化测试文件的编写,降低工作量。
Description
技术领域
本发明涉及软件产品测试技术领域,特别涉及一种用户界面自动测试方法及装置、电子设备及存储介质。
背景技术
用户界面(User Interface,简称UI)是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。用户界面的目的在于使得用户能够方便有效率地去操作硬件以达成双向之交互,完成所希望借助硬件完成之工作。用户界面使用广泛,随着移动通信以及电子商务等技术的发展,装载于移动终端中的应用越来越多,例如外卖应用,即时通信应用等等,不同的应用的用户界面一般包含有适量的页面元素以实现应用之操作功能。在软件产品开发阶段,需要对其用户界面中的页面元素进行测试。
发明人发现相关技术至少存在以下问题:现有UI页面元素的测试方式主要包括人工点击页面元素进行测试的手动测试方式以及通过编写自动化脚本进行自动化测试的方式。现有自动化测试方式中,整个测试流程通过编写一个自动化测试脚本实现,在每个页面元素测试时,均需手动配置页面元素定位代码以及测试代码,即同一个页面元素需要被多次点击测试时,需要重复配置定位代码以及测试代码,此外,对于同一应用的不同版本,由于其页面元素的定位方式可能不同,导致需要为其不同版本单独编写自动化测试脚本。因此,现有的用户界面页面元素测试方法操作繁琐、工作量大。
发明内容
本发明实施方式的目的在于提供一种用户界面自动测试方法及装置、电子设备及存储介质,能够大幅简化测试文件的编写,降低工作量。
为解决上述技术问题,本发明的实施方式提供了一种用户界面自动测试方法,包括:
初始化配置文件得到所述用户界面中的页面元素的位置信息;
预先设置自动化测试脚本;
触发所述自动化测试脚本,所述自动化测试脚本通过调用所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试。
本发明的实施方式还提供了一种用户界面自动测试装置,包括:
初始化模块,用于初始化配置文件得到所述用户界面中的页面元素的位置信息;
设置模块,用于预先设置自动化测试脚本;
执行模块,用于触发所述自动化测试脚本,所述自动化测试脚本通过调用所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试。
本发明的实施方式还提供了一种电子设备,包括:存储器和处理器,存储器存储计算机程序,处理器运行所述计算机程序以实现:
初始化配置文件得到用户界面中的页面元素的位置信息;
预先设置自动化测试脚本;
触发所述自动化测试脚本,所述自动化测试脚本通过调用所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试。
本发明的实施方式还提供了一种计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行如上所述的用户界面自动测试方法。
本发明实施方式相对于现有技术而言,通过初始化配置文件得到用户界面中的页面元素的位置信息,即在得到用户界面中的页面元素的位置信息后单独保存,然后触发预先设置的自动化测试脚本,自动化测试脚本通过调用配置文件获取用户界面中的页面元素的位置信息以实现页面元素的测试。这样将页面元素的位置信息定位功能的相关代码放在配置文件中,而将页面元素的测试功能的相关代码放在自动化测试脚本中,即将两者分别放在不同的文件中,从而不仅可以根据配置文件中的页面元素的位置信息对其进行多次测试而无需重复配置定位代码,而且可以将页面元素测试过程中的定位过程以及模拟点击等的测试过程分离开来,从而使得自动化测试脚本可以兼容不同版本的应用的测试,进一步简化测试产品的开发,降低工作量。
作为一个实施例,在所述初始化配置文件得到所述用户界面中的页面元素的位置信息之前,还包括:
通过看门狗应用检测确定所述用户界面中的页面元素是否有更新,若有更新,则执行所述初始化配置文件得到所述用户界面中的页面元素的位置信息。
作为一个实施例,所述初始化配置文件得到所述用户界面中的页面元素的位置信息,具体包括:
确定所述用户界面的版本;
根据所述用户界面的版本调用对应的定位方式得到所述用户界面中的页面元素的位置信息。
作为一个实施例,所述版本包括:IOS、安卓。
作为一个实施例,所述定位方式包括以下之一或其任意组合:
基于页面元素名称以及应用程序接口的定位方式;
基于页面元素标识以及应用程序接口的定位方式;以及
针对呈树状结构布置的页面元素的可扩展标记语言路径定位方式。
作为一个实施例,所述触发所述自动化测试脚本,所述自动化测试脚本通过调用所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试,具体包括:
检测所述页面元素的类型;
根据所述页面元素的类型采用对应的测试方式进行测试。
附图说明
图1是根据本发明第一实施方式中的用户界面自动测试方法的流程图;
图2是根据本发明第二实施方式中的用户界面自动测试方法的流程图;
图3是根据本发明第三实施方式中的用户界面自动测试装置的结构示意图;
图4是根据本发明第四实施方式中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本发明所要求保护的技术方案。
本发明的第一实施方式涉及一种用户界面自动测试方法,包括:初始化配置文件得到用户界面中的页面元素的位置信息;预先设置自动化测试脚本;触发自动化测试脚本,自动化测试脚本通过调用配置文件获取用户界面中的页面元素的位置信息以实现页面元素的测试。通过初始化配置文件得到用户界面中的页面元素的位置信息,即在得到用户界面中的页面元素的位置信息后单独保存,然后触发预先设置的自动化测试脚本,自动化测试脚本通过调用配置文件获取用户界面中的页面元素的位置信息以实现页面元素的测试。这样将页面元素的位置信息定位功能的相关代码放在配置文件中,而将页面元素的测试功能的相关代码放在自动化测试脚本中,即将两者分别放在不同的文件中,从而不仅可以根据配置文件中的页面元素的位置信息对其进行多次测试而无需重复配置定位代码,而且可以将页面元素测试过程中的定位过程以及模拟点击等的测试过程分离开来,从而使得自动化测试脚本可以兼容不同版本的应用的测试,进一步简化测试产品的开发,降低工作量。
下面对本实施方式的用户界面自动测试方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的用户界面自动测试方法如图1所示,具体包括步骤101至步骤103。
步骤101:初始化配置文件得到用户界面中的页面元素的位置信息。
待测试应用可以是各种具有用户界面的应用,常用应用通常包含多个页面元素。页面元素能够接收用户操作并进行响应。页面元素可以是按钮,按钮可以是登录、注册、提交、确认等,页面元素还可以是文本框以及视图等。本实施方式对于页面元素的形式不做具体限制。待测试应用包括但不限于装载于移动终端中的在线购物应用、社交以及即时通信应用、游戏应用等等。
步骤101具体包括:确定用户界面的版本,根据用户界面的版本调用对应的定位方式得到用户界面中的页面元素的位置信息。以移动终端应用为例,用户界面的版本包括但不限于IOS、安卓。本实施方式对于用户界面的版本不做任何限制。
其中,常用的得到用户界面中的页面元素的位置信息的定位方式包括:基于页面元素名称以及应用程序接口的定位方式(亦可称为第一种定位方式);基于页面元素标识以及应用程序接口的定位方式(亦可称为第二种定位方式);以及针对呈树状结构布置的页面元素的可扩展标记语言路径定位方式(亦可称为第三种定位方式)。本实施方式对于定位方式不做具体限制。
在实际应用中,可以根据用户界面的版本对应的页面元素的位置的设置方式在配置文件中设置对应的页面元素定位方式。举例而言,android(安卓)版本的页面元素对应的定位方式是可扩展标记语言路径(即XPath)定位方式实,XPath是XML(eXtensible MarkupLanguage)Path的简称,因此,针对anroid版本用户界面,可在配置文件中设置XPath定位方式即可。在实际应用中,也可以将常用的或者与待测用户界面对应的定位方式设置在配置文件中。
下面对上述三种页面元素的定位方式进行详细说明。第一种定位方式是基于页面元素的名称以及应用程序接口(Application Programming Interface,API)的定位方式。该种定位方式主要是通过页面元素名称并调用相应的应用程序接口实现页面元素的定位,以得到页面元素的位置信息,例如页面元素的坐标。页面元素名称例如为按钮的名称,例如“注册”、“登录”、“确认下单”、“加购物车”等。第二种定位方式与第一种类似,主要区别在于,第一种定位方式需要提供每个页面元素的名称,而第二种定位方式则是为每个页面元素分配唯一的标识(即ID,identification),并调用相应的API定位得到各个ID对应的页面元素的位置信息。第三种定位方式可以针对呈树状结构布置的页面元素,并采用可扩展标记语言路径定位方式实现定位。该种情况下,用户界面中的各个页面元素是以树状结构的叶子节点的形式进行配置的,因此需要遍历树状结构的叶子节点以定位得到各页面元素的坐标。
步骤101中,通过将页面元素位置信息的定位方式设置在配置文件中,通过初始化配置文件,即执行页面元素位置信息的定位,即可得到待测试的用户界面中的各页面元素的位置信息,并可保存得到的页面元素的位置信息,即将各页面元素与其坐标对应存储在文件中,具体可以保存在配置文件中或者其他文件中,本实施方式对此不作具体限制。
其中,步骤101可视为用户界面自动测试方法中的初始化步骤。即每当测试一个新的待测试应用,或者待测试应用的页面元素位置发生变化时,例如页面元素增加、减少时,均需要重新执行步骤101。
步骤102:预先设置自动化测试脚本。
由于页面元素的位置信息均在步骤101中得到,因此自动化测试脚本中不再需要写入页面元素定位代码,只需要写读取页面元素的位置信息、点击以及使用等的功能代码。并且由于不同版本的应用的页面元素的种类一般是相同的,因此,不同版本的用户界面的自动化测试脚本可以通用,所以本实施方式不需要针对不同版本的用户界面单独开发自动化测试脚本,从而可以大幅降低工作量。
步骤103:触发自动化测试脚本,自动化测试脚本通过调用配置文件获取用户界面中的页面元素的位置信息以实现页面元素的测试。
具体而言,步骤103包括:检测页面元素的类型,根据页面元素的类型采用对应的测试方式进行测试。具体地,一般的控件可以通过Appium提供的各种API(如通过XPath节点的方式)来进行控制,手机软键盘可通过安卓(Android)提供的安卓调试桥(Android DebugBridge,ADB)工具来进行模拟点击,从而实现对各个页面元素的测试。然不限于此,只要能够实现页面元素的模拟测试即可。
现有技术中为对用户界面中的页面元素进行测试所编写的测试脚本中,是按照页面元素的测试控制流程针对每个页面元素的每次测试,均需要配置页面元素定位代码以及测试代码,即在某个页面元素需要进行多次测试时,需要开发人员反复地为该页面元素配置定位代码以及测试代码,举例而言,“登录”按钮的测试会执行很多遍,比如在登录正确账户时提示登录成功,在登录错误账户时提示错误信息,因此,需要反复配置“登录”按钮的定位代码。并且,当待测试应用具有多个不同版本,例如具有android以及IOS(苹果公司开发的移动操作系统)版本时,由于android与IOS版本的应用的页面元素的布局方式可能不同,所以就需要为两个版本的应用分别编写自动化测试脚本,操作繁琐、工作量大。
本实施方式中,由于在初始化过程中已经定位出用户界面中的所有页面元素的位置信息,并将定位出的位置信息保存在一个文件中,所以在后续的测试中,可以直接在保存的文件中读取到各个页面元素的坐标,避免同一页面元素多次测试时重复配置定位代码的繁琐操作。并且,无论android还是IOS版本的应用,其页面元素的位置信息均在初始化后被保存在文件中,而后续的页面元素的测试过程(即页面元素模拟点击测试过程)可以直接在保存的文件中读取,而页面元素模拟点击测试过程一般是相同,因而通过将页面元素的定位和点击测试相分离,从而使得自动化测试脚本可以兼容应用的多个版本的测试。因此,本实施方式的用户界面自动测试方法能够简化开发人员的操作,降低工作量。
本发明的第二实施方式涉及一种用户界面自动测试方法,如图2所示,本实施方式包括步骤201至步骤204。
步骤201:通过看门狗应用检测确定用户界面中的页面元素是否有更新,若有更新,则执行步骤202,若无更新,则执行步骤204。
在实际应用中,可以在每次开始测试时自动检测用户界面的版本,若用户界面的版本有更新,则通过看门狗应用检测确定用户界面中的页面元素是否有更新,若用户界面的版本无更新,则表示用户界面无变化,即用户界面中的页面元素的位置及其对应功能无变化,则直接执行步骤204。其中,看门狗(watchdog)应用可以自动抓取用户界面中的所有页面元素,以便步骤202中对页面元素进行重新定位。watchdog可以是系统自带的监视程序。
步骤201:初始化配置文件得到用户界面中的页面元素的位置信息。
待测试应用可以是各种具有用户界面的应用,常用应用通常包含多个页面元素。页面元素能够接收用户操作并进行响应。页面元素可以是按钮,按钮可以是登录、注册、提交、确认等,页面元素还可以是文本框以及视图等。本实施方式对于页面元素的形式不做具体限制。待测试应用包括但不限于装载于移动终端中的在线购物应用、社交以及即时通信应用、游戏应用等等。
步骤202具体包括:确定用户界面的版本,根据用户界面的版本调用对应的定位方式得到用户界面中的页面元素的位置信息。以移动终端应用为例,用户界面的版本包括但不限于IOS、安卓。本实施方式对于用户界面的版本不做任何限制。
其中,常用的得到用户界面中的页面元素的位置信息的定位方式包括:基于页面元素名称以及应用程序接口的定位方式(亦可称为第一种定位方式);基于页面元素标识以及应用程序接口的定位方式(亦可称为第二种定位方式);以及针对呈树状结构布置的页面元素的可扩展标记语言路径定位方式(亦可称为第三种定位方式)。本实施方式对于定位方式不做具体限制。
在实际应用中,可以根据用户界面的版本对应的页面元素的位置的设置方式在配置文件中设置对应的页面元素定位方式。举例而言,android(安卓)版本的页面元素对应的定位方式是可扩展标记语言路径(即XPath)定位方式实,XPath是XML(eXtensible MarkupLanguage)Path的简称,因此,针对anroid版本用户界面,可在配置文件中设置XPath定位方式即可。在实际应用中,也可以将常用的或者与待测用户界面对应的定位方式设置在配置文件中。
下面对上述三种页面元素的定位方式进行详细说明。第一种定位方式是基于页面元素的名称以及应用程序接口(Application Programming Interface,API)的定位方式。该种定位方式主要是通过页面元素名称并调用相应的应用程序接口实现页面元素的定位,以得到页面元素的位置信息,例如页面元素的坐标。页面元素名称例如为按钮的名称,例如“注册”、“登录”、“确认下单”、“加购物车”等。第二种定位方式与第一种类似,主要区别在于,第一种定位方式需要提供每个页面元素的名称,而第二种定位方式则是为每个页面元素分配唯一的标识(即ID,identification),并调用相应的API定位得到各个ID对应的页面元素的位置信息。第三种定位方式可以针对呈树状结构布置的页面元素,并采用可扩展标记语言路径定位方式实现定位。该种情况下,用户界面中的各个页面元素是以树状结构的叶子节点的形式进行配置的,因此需要遍历树状结构的叶子节点以定位得到各页面元素的坐标。
步骤202中,通过将页面元素位置信息的定位方式设置在配置文件中,通过初始化配置文件,即执行页面元素位置信息的定位,即可得到待测试的用户界面中的各页面元素的位置信息,并可保存得到的页面元素的位置信息,即将各页面元素与其坐标对应存储在文件中,具体可以保存在配置文件中或者其他文件中,本实施方式对此不作具体限制。
其中,步骤202可视为用户界面自动测试方法中的初始化步骤。即每当测试一个新的待测试应用,或者待测试应用的页面元素位置发生变化时,例如页面元素增加、减少时,均需要重新执行步骤202。
步骤203:预先设置自动化测试脚本。
在用户界面自动测试方法中,相同的用户界面仅需编写一个自动化测试脚本。并且由于不同版本的应用的页面元素的种类一般是相同的,因此,不同版本的用户界面的自动化测试脚本可以通用,所以本实施方式不需要针对不同版本的用户界面单独开发自动化测试脚本,从而可以大幅降低工作量。
步骤204:触发自动化测试脚本,自动化测试脚本通过调用配置文件获取用户界面中的页面元素的位置信息以实现页面元素的测试。
具体而言,步骤204包括:检测页面元素的类型,根据页面元素的类型采用对应的测试方式进行测试。具体地,一般的控件可以通过Appium提供的各种API(如通过XPath节点的方式)来进行控制,手机软键盘可通过安卓(Android)提供的安卓调试桥(Android DebugBridge,ADB)工具来进行模拟点击,从而实现对各个页面元素的测试。然不限于此,只要能够实现页面元素的模拟测试即可。
本实施方式与前述实施方式相比,通过看门狗应用提取待测试应用中的页面元素,可以方便对用户界面中的页面元素进行定位,有利于进一步降低工作量。
本发明的第三实施方式涉及一种用户界面自动测试装置,如图3所示,该用户界面自动测试装置300包括:
初始化模块301,用于初始化配置文件得到用户界面中的页面元素的位置信息;
设置模块302,用于预先设置自动化测试脚本;
执行模块303,用于触发自动化测试脚本,自动化测试脚本通过调用配置文件获取用户界面中的页面元素的位置信息以实现页面元素的测试。
在一个例子中,该用户界面自动测试装置300还可以包括检测模块(图未示),用于通过看门狗应用检测确定用户界面中的页面元素是否有更新,若有更新,则触发所述初始化模块301,若无更新,则触发所述执行模块303。
另外,初始化模块301,具体用于确定用户界面的版本;根据用户界面的版本调用对应的定位方式得到用户界面中的页面元素的位置信息。进一步地,所述版本包括但不限于:IOS、安卓。定位方式包括但不限于:基于页面元素名称以及应用程序接口的定位方式;基于页面元素标识以及应用程序接口的定位方式;以及针对呈树状结构布置的页面元素的可扩展标记语言路径定位方式。其中,不同版本的用户界面的配置文件中可以设置对应的定位方式。
执行模块303具体用于检测页面元素的类型,根据页面元素的类型采用对应的测试方式进行测试。具体地,一般的控件可以通过Appium提供的各种API(如通过XPath节点的方式)来进行控制,手机软键盘可通过安卓(Android)提供的安卓调试桥(AndroidDebugBridge,ADB)工具来进行模拟点击,从而实现对各个页面元素的测试。然不限于此,只要能够实现页面元素的模拟测试即可。
本实施方式中,将用户界面中的页面元素的定位功能通过初始化模块实现,将用户界面中的页面元素的点击测试(即逻辑测试功能)通过自动化测试脚本实现。由于初始化模块已经定位出用户界面中的所有页面元素的位置信息并保存,所以在后续的执行模块中,执行模块可以直接在保存的文件中读取到各个页面元素的坐标,避免同一页面元素多次测试时重复配置定位代码的繁琐操作。并且,无论android还是IOS版本的应用,页面元素模拟点击测试过程(即测试逻辑)一般是相同的,因而自动化测试脚本可以通用。因此,本实施方式能够简化开发人员的操作,降低工作量。
本发明的第四实施方式涉及一种电子设备,电子设备例如为计算机系统。如图4所示,该电子设备包括存储器402和处理器401;
其中,所述存储器402存储有可被所述至少一个处理器401执行的指令,所述指令被所述至少一个处理器401执行以实现:
初始化配置文件得到用户界面中的页面元素的位置信息;
预先设置自动化测试脚本;
触发自动化测试脚本,自动化测试脚本通过调用配置文件获取用户界面中的页面元素的位置信息以实现页面元素的测试。
一个或多个处理器401以及存储器402,图4中以一个处理器401为例。处理器401、存储器402可以通过总线或者其他方式连接,图4中以通过总线连接为例。存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述用户界面自动测试方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器402中,当被一个或者多个处理器401执行时,执行上述任意方法实施方式中的用户界面自动测试方法。
上述设备可执行本发明实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本发明实施方式所提供的方法。
本实施方式中,由于在初始化过程中已经定位出用户界面中的所有页面元素的位置信息,并将定位出的位置信息保存在一个文件中,所以在后续的测试中,可以直接在保存的文件中读取到各个页面元素的坐标,避免同一页面元素多次测试时重复配置定位代码的繁琐操作。并且,无论android还是IOS版本的应用,其页面元素的位置信息均在初始化后被保存在文件中,而后续的页面元素的测试过程(即页面元素模拟点击测试过程)可以直接在保存的文件中读取,而页面元素模拟点击测试过程一般是相同,因而通过将页面元素的定位和点击测试相分离,从而使得自动化测试脚本可以兼容应用的多个版本的测试。因此,本实施方式的用户界面自动测试方法能够简化开发人员的操作,降低工作量。
本发明的第五实施方式涉及一种计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
本申请实施例公开了A1.一种用户界面自动测试方法,包括:
初始化配置文件得到所述用户界面中的页面元素的位置信息;
预先设置自动化测试脚本;
触发所述自动化测试脚本,所述自动化测试脚本通过调用所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试。
A2.如A1所述的用户界面自动测试方法,在所述初始化配置文件得到所述用户界面中的页面元素的位置信息之前,还包括:
通过看门狗应用检测确定所述用户界面中的页面元素是否有更新,若有更新,则执行所述初始化配置文件得到所述用户界面中的页面元素的位置信息。
A3.如A1所述的用户界面自动测试方法,所述初始化配置文件得到所述用户界面中的页面元素的位置信息,具体包括:
确定所述用户界面的版本;
根据所述用户界面的版本调用对应的定位方式得到所述用户界面中的页面元素的位置信息。
A4.如A3所述的用户界面自动测试方法,所述版本包括:IOS、安卓。
A5.如A3所述的用户界面自动测试方法,所述定位方式包括以下之一或其任意组合:
基于页面元素名称以及应用程序接口的定位方式;
基于页面元素标识以及应用程序接口的定位方式;以及
针对呈树状结构布置的页面元素的可扩展标记语言路径定位方式。
A6.如A1至A5中任一项所述的用户界面自动测试方法,所述触发所述自动化测试脚本,所述自动化测试脚本通过调用所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试,具体包括:
检测所述页面元素的类型;
根据所述页面元素的类型采用对应的测试方式进行测试。
本申请实施例还公开了B1.一种用户界面自动测试装置,包括:
初始化模块,用于初始化配置文件得到所述用户界面中的页面元素的位置信息;
设置模块,用于预先设置自动化测试脚本;
执行模块,用于触发所述自动化测试脚本,所述自动化测试脚本通过调用所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试。
B2.如B1所述的用户界面自动测试装置,还包括:
检测模块,用于通过看门狗应用检测确定所述用户界面中的页面元素是否有更新,若有更新,则触发所述初始化模块。
B3.如B1所述的用户界面自动测试装置,所述初始化模块具体用于:
确定所述用户界面的版本;
根据所述用户界面的版本调用对应的定位方式得到所述用户界面中的页面元素的位置信息。
B4.如B3所述的用户界面自动测试装置,所述版本包括:IOS、安卓。
B5.如B3所述的用户界面自动测试装置,所述定位方式包括以下之一或其任意组合:
基于页面元素名称以及应用程序接口的定位方式;
基于页面元素标识以及应用程序接口的定位方式;以及
针对呈树状结构布置的页面元素的可扩展标记语言路径定位方式。
B6.如B1至B5中任一项所述的用户界面自动测试装置,所述执行模块具体用于:
检测所述页面元素的类型;
根据所述页面元素的类型采用对应的测试方式进行测试。
本申请实施例还公开了C1.一种电子设备,包括:存储器和处理器,存储器存储计算机程序,处理器运行所述计算机程序以实现:
初始化配置文件得到用户界面中的页面元素的位置信息;
预先设置自动化测试脚本;
触发所述自动化测试脚本,所述自动化测试脚本通过调用所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试。
C2.如C1所述的电子设备,所述处理器还用于执行如A2至A6中任一项所述的用户界面自动测试方法。
本申请实施例还公开了D1.一种存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行如A1至A6中任一项所述的用户界面自动测试方法。
Claims (8)
1.一种用户界面自动测试方法,其特征在于,包括:
初始化配置文件得到所述用户界面中的页面元素的位置信息;
预先设置自动化测试脚本;
触发所述自动化测试脚本,所述自动化测试脚本通过直接读取所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试;
所述初始化配置文件得到所述用户界面中的页面元素的位置信息,具体包括;
确定所述用户界面的版本;
根据所述用户界面的版本调用对应的定位方式得到所述用户界面中的页面元素的位置信息,并将所述页面元素位置信息保存在所述配置文件中;
其中,所述定位方式包括以下之一或其任意组合:
基于页面元素名称以及应用程序接口的定位方式;
基于页面元素标识以及应用程序接口的定位方式;以及
针对呈树状结构布置的页面元素的可扩展标记语言路径定位方式。
2.根据权利要求1所述的用户界面自动测试方法,其特征在于,在所述初始化配置文件得到所述用户界面中的页面元素的位置信息之前,还包括:
通过看门狗应用检测确定所述用户界面中的页面元素是否有更新,若有更新,则执行所述初始化配置文件得到所述用户界面中的页面元素的位置信息。
3.根据权利要求1所述的用户界面自动测试方法,其特征在于,所述版本包括:IOS、安卓。
4.根据权利要求1至3中任一项所述的用户界面自动测试方法,其特征在于,所述触发所述自动化测试脚本,所述自动化测试脚本通过调用所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试,具体包括:
检测所述页面元素的类型;
根据所述页面元素的类型采用对应的测试方式进行测试。
5.一种用户界面自动测试装置,其特征在于,包括:
初始化模块,用于初始化配置文件得到所述用户界面中的页面元素的位置信息;
设置模块,用于预先设置自动化测试脚本;
执行模块,用于触发所述自动化测试脚本,所述自动化测试脚本通过直接读取所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试;
所述初始化配置文件得到所述用户界面中的页面元素的位置信息,具体包括:
根据所述用户界面的版本调用对应的定位方式得到所述用户界面中的页面元素的位置信息,并将所述页面元素位置信息保存在所述配置文件中;
其中,所述定位方式包括以下之一或其任意组合:
基于页面元素名称以及应用程序接口的定位方式;
基于页面元素标识以及应用程序接口的定位方式;以及
针对呈树状结构布置的页面元素的可扩展标记语言路径定位方式。
6.一种电子设备,其特征在于,包括:存储器和处理器,存储器存储计算机程序,处理器运行所述计算机程序以实现:
初始化配置文件得到用户界面中的页面元素的位置信息;
预先设置自动化测试脚本;
触发所述自动化测试脚本,所述自动化测试脚本通过直接读取所述配置文件获取所述用户界面中的页面元素的位置信息以实现所述页面元素的测试;
所述初始化配置文件得到所述用户界面中的页面元素的位置信息,具体包括:
根据所述用户界面的版本调用对应的定位方式得到所述用户界面中的页面元素的位置信息,并将所述页面元素位置信息保存在所述配置文件中;
其中,所述定位方式包括以下之一或其任意组合:
基于页面元素名称以及应用程序接口的定位方式;
基于页面元素标识以及应用程序接口的定位方式;以及
针对呈树状结构布置的页面元素的可扩展标记语言路径定位方式。
7.根据权利要求6所述的电子设备,其特征在于,所述处理器还用于执行如权利要求2至4中任一项所述的用户界面自动测试方法。
8.一种存储介质,其特征在于,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行如权利要求1至4中任一项所述的用户界面自动测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811607303.4A CN109669873B (zh) | 2018-12-27 | 2018-12-27 | 用户界面自动测试方法及装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811607303.4A CN109669873B (zh) | 2018-12-27 | 2018-12-27 | 用户界面自动测试方法及装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669873A CN109669873A (zh) | 2019-04-23 |
CN109669873B true CN109669873B (zh) | 2022-06-21 |
Family
ID=66147359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811607303.4A Active CN109669873B (zh) | 2018-12-27 | 2018-12-27 | 用户界面自动测试方法及装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669873B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297758A (zh) * | 2019-05-20 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
CN110297759B (zh) * | 2019-05-22 | 2022-04-12 | 深圳壹账通智能科技有限公司 | 一种制作测试页面脚本的方法、装置、设备及存储介质 |
CN111552627A (zh) * | 2020-03-16 | 2020-08-18 | 平安科技(深圳)有限公司 | 用户界面测试方法、装置、存储介质及计算机设备 |
CN111679974A (zh) * | 2020-05-26 | 2020-09-18 | 泰康保险集团股份有限公司 | 一种应用程序的测试方法及装置 |
KR102399907B1 (ko) * | 2020-09-08 | 2022-05-18 | 유아이패스, 인크. | 애플리케이션 특유의 그래픽 요소 검출 |
CN112506600A (zh) * | 2020-12-11 | 2021-03-16 | 上海依图网络科技有限公司 | 用户界面的元素定位方法及其装置、介质和电子设备 |
CN113110991A (zh) * | 2021-03-29 | 2021-07-13 | 青岛海尔科技有限公司 | 页面元素的定位方法及装置、存储介质及电子装置 |
CN113360385A (zh) * | 2021-06-16 | 2021-09-07 | 北京光启元数字科技有限公司 | 一种测试方法、装置、设备及介质 |
CN113609028A (zh) * | 2021-10-09 | 2021-11-05 | 统信软件技术有限公司 | 一种页面测试方法、计算设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630286A (zh) * | 2009-08-07 | 2010-01-20 | 金蝶软件(中国)有限公司 | 一种自动化测试方法及装置 |
CN104268083A (zh) * | 2014-09-30 | 2015-01-07 | 上海联影医疗科技有限公司 | 软件自动化测试方法和装置 |
CN108509342A (zh) * | 2018-04-04 | 2018-09-07 | 成都中云天下科技有限公司 | 一种精准快速的App自动化测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2909144C (en) * | 2015-03-05 | 2021-03-30 | Tata Consultancy Services Limited | A system and method for accessiblility assessment of a web application |
-
2018
- 2018-12-27 CN CN201811607303.4A patent/CN109669873B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630286A (zh) * | 2009-08-07 | 2010-01-20 | 金蝶软件(中国)有限公司 | 一种自动化测试方法及装置 |
CN104268083A (zh) * | 2014-09-30 | 2015-01-07 | 上海联影医疗科技有限公司 | 软件自动化测试方法和装置 |
CN108509342A (zh) * | 2018-04-04 | 2018-09-07 | 成都中云天下科技有限公司 | 一种精准快速的App自动化测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109669873A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669873B (zh) | 用户界面自动测试方法及装置、电子设备及存储介质 | |
US20240037020A1 (en) | System and Method for Automated Software Testing | |
CN108959068B (zh) | 软件界面测试方法、设备及存储介质 | |
US9720799B1 (en) | Validating applications using object level hierarchy analysis | |
US9336023B2 (en) | Visual generation of mobile applications based on data models | |
CN106415480B (zh) | 用于安装在移动设备上的用于允许对该移动设备进行远程配置的高速应用 | |
US9027014B2 (en) | Updating firmware compatibility data | |
US7987460B2 (en) | Automation tool for application installations | |
US9760475B2 (en) | Automatic updating of graphical user interface element locators based on image comparison | |
AU2017327823B2 (en) | Test case generator built into data-integration workflow editor | |
US9684587B2 (en) | Test creation with execution | |
WO2020151301A1 (zh) | 一种基于强化学习的测试脚本生成方法和装置 | |
US20080209405A1 (en) | Distributed debugging for a visual programming language | |
CN106648556B (zh) | 前后端集成开发测试的方法及装置 | |
CN105335283A (zh) | 终端设备中的应用测试方法及装置 | |
Lam et al. | Record and replay for android: Are we there yet in industrial cases? | |
CN108121650B (zh) | 一种对于页面用户界面的测试方法及装置 | |
CN108923997B (zh) | 一种基于python的云服务节点自动测试方法及装置 | |
KR102105753B1 (ko) | 모바일 어플리케이션 환경설정을 시험하기 위한 시험 항목 자동 생성 방법 및 시스템 | |
CN106021101B (zh) | 对移动终端进行测试的方法及装置 | |
WO2017044291A1 (en) | Method and apparatus for generating, capturing, storing, and loading debug information for failed tests scripts | |
Hans | Appium essentials | |
JP2019109884A (ja) | テスト自動化のための技法 | |
CN106126425B (zh) | 基于Android自动化测试框架的功能遍历方法及系统 | |
US20080126862A1 (en) | System and Method for Testing Software Code for Use on a Target Processor |
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 |