CN108572913A - 在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 - Google Patents
在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 Download PDFInfo
- Publication number
- CN108572913A CN108572913A CN201810159498.4A CN201810159498A CN108572913A CN 108572913 A CN108572913 A CN 108572913A CN 201810159498 A CN201810159498 A CN 201810159498A CN 108572913 A CN108572913 A CN 108572913A
- Authority
- CN
- China
- Prior art keywords
- app
- homepages
- app homepages
- test case
- current interface
- 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
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
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及信息技术领域。在安卓客户端UI自动化过程中定位App首页的方法,包括下述步骤:第一次冷启动APP时,记录App首页的UI层级结构树并保存;当测试用例执行结束时,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,通过UI层级结构树判断当前界面是否是App首页,如果不是首页,返回上一级界面继续进行App首页判断,直到定位App首页。本发明的在安卓客户端UI自动化过程中定位App首页的方法及装置缩短UI自动化测试脚本执行时间,极大的提高了测试效率。
Description
技术领域
本发明涉及信息技术领域,尤其是一种在安卓客户端UI自动化过程中定位App首页的方法、装置和应用。
背景技术
随着互联网测试行业的兴起,为了节约人力测试的成本,越来越多的自动化框架诞生,偏后端的接口自动化,偏客户端的UI自动化等。自动化的作用是:1.对程序的新版本运行已有的测试;2.可以执行一些手工测试困难或不可能做的测试;3.更好的利用资源;4.测试具有一致性和可重复性。目前UI自动化的测试框架也有很多,有关键字驱动的UI自动化框架,有录制屏幕来转化为UI自动化测试脚本,还有遍历各个页面层级关系生成测试路径等方法。目前的技术大多致力于整体框架的介绍,使用过程中提高UI自动化测试效率的技术不多。UI自动化测试中每次执行测试用例时都要冷启动APP,而冷启动APP需要几秒甚至十几秒甚至更慢,降低了测试效率。目前现有技术中有遍历各个界面生成各个界面节点层级关系的树状图,从而能得到遍历整个APP所有路径的方式,这种方式得到首页位置需要遍历APP内所有界面、得到界面层级之间的树状图定位到首页位置,不足是成本大。
发明内容
本发明的目的是为了解决UI自动化测试中每次执行测试用例时都要冷启动APP导致测试效率低的问题,提供一种在安卓客户端UI自动化过程中定位App首页的方法、装置和应用,第一个测试用例冷启动APP,剩下n-1条测试用例直接返回到首页起始点,缩短UI自动化测试脚本执行时间,自动化测试用例之间不用等待APP启动的时间。
为了实现上述目的,本发明采用了以下技术方案:在安卓客户端UI自动化过程中定位App首页的方法,包括下述步骤:
S1,第一次冷启动APP时,记录App首页的UI层级结构树并保存;
S2,当测试用例执行结束时,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,通过UI层级结构树判断当前界面是否是App首页,如果不是首页,返回上一级界面继续进行App首页判断,直到定位App首页。
作为优选,记录首页完整的UI层级结构树并保存,以确保首页判断的准确性。
作为优选,通过遍历当前界面的UI层级结构树和App首页的UI层级结构树进行对比,从根节点开始进行广度优先遍历,如果UI层级结构树不一致,认定当前界面不是首页;返回上一级界面再进行和App首页的UI层级结构树对比;进一步的,广度优先遍历是用队列来实现的,从树的第一层即根结点开始,从上至下逐层遍历;在同一层中,按照从左到右的顺序对结点逐一访问。
在安卓客户端UI自动化过程中定位App首页的装置,包括:记录模块,第一次冷启动APP时,记录模块用于记录App首页的UI层级结构树并保存;对比模块,当测试用例执行结束时,对比模块用于将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,并判断当前界面是否是App首页,如果当前界面不是App首页,返回上一级界面继续首页判断,直到定位App首页。
UI自动化测试的方法,第一个测试用例冷启动APP,剩下n-1条测试用例直接返回App首页,定位App首页的方法如上述。
通过本发明,解决了现有技术中UI自动化测试中每次执行测试用例时都要冷启动APP导致测试效率低的问题,本专利的在安卓客户端UI自动化过程中定位App首页的方法及装置缩短UI自动化测试脚本执行时间,自动化测试用例之间不用等待APP启动的时间,只用返回到首页就可以,极大的提高了测试效率。
附图说明
图1:本发明实施例的在安卓客户端UI自动化过程中定位App首页的方法流程图。
图2:本发明实施例中测试用例执行结束时的当前界面是否是App首页判断的步骤流程图。
图3:本发明实施例的在安卓客户端UI自动化过程中定位App首页的结构框图。
具体实施方式
下面结合图1、图2和图3对本发明做进一步描述。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
UI:即User Interface用户界面的简称。在计算机科学中,树是一种抽象数据类型或是实作这种抽象数据类型的数据结构,用来模拟具树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。
Android中的任何一个布局、任何一个控件其实都是直接或间接继承自View实现的,当然也包括我们后面一步一步引出的自定义控件也不例外,所以说这些View应该都具有相同的绘制流程与机制才能显示到屏幕上,因为他们都具备相同的父类View,可能每个控件的具体绘制逻辑有差异,但是主流程都是一样的。
本专利的UI层级结构树,也就是Android的view树,是Android界面的各个元素层级结构、关联关系的一个抽象,为Android应用程序是靠这个view树的节点信息来加载出界面上的各个元素,从而展示出界面给用户看的。
图1是本发明实施例的在安卓客户端UI自动化过程中定位App首页的方法流程图,如图1所示的在安卓客户端UI自动化过程中定位App首页的方法,包括下述步骤:
S1,第一次冷启动APP时,记录首页完整的UI层级结构树并保存;
S2,当测试用例执行结束时,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,通过遍历当前界面的UI层级结构树和App首页的UI层级结构树进行对比,从根节点开始进行广度优先遍历,广度优先遍历是用队列来实现的,从树的第一层即根结点开始,从上至下逐层遍历;在同一层中,按照从左到右的顺序对结点逐一访问;如果当前界面的UI层级结构树和App首页的UI层级结构树一致,证明当前界面是首页,如果不一致就不是首页,返回上一级界面继续进行App首页判断,直到定位App首页并返回。如图2所示,测试用例执行结束时的当前界面是否是App首页判断的步骤如下:步骤201,当测试用例执行结束时,提取测试用例执行结束时的当前界面的UI层级结构树信息;
步骤202,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比;
步骤2031,UI层级结构树一致,证明当前界面是首页;
步骤2032,UI层级结构树不一致,证明当前界面不是首页,点击返回上一级界面提取该界面的UI层级结构树,继续进行App首页判断,直到定位App首页并返回。
现有技术的遍历整个APP的所有界面得到首页位置,每个界面相当于是一个叶节点,得到这个树,根节点界面证明是首页,且没有做任何标记,无法重复利用。本专利的定位App首页的方法,只要第一次冷启动时候记录首页的UI层级结构树就可以拿到首页的标记元素,且运行自动化用例时候,不用遍历所有界面,只需要用例结束时所处的界面和首页对比,不符合就返回上一个界面,这样遍历的界面相当于现有技术实现方式的一个子集,成本大大减低。
如图3所示的在安卓客户端UI自动化过程中定位App首页的装置,包括记录模块1和对比模块2。第一次冷启动APP时,记录模块1用于记录App首页的UI层级结构树并保存;当测试用例执行结束时,对比模块2用于将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,并判断当前界面是否是App首页,如果当前界面不是App首页,返回上一级界面继续判断首页,直到定位App首页并返回首页。
UI自动化测试的方法,第一个测试用例冷启动APP,剩下n-1条测试用例直接返回App首页,定位App首页的方法如上述的在安卓客户端UI自动化过程中定位App首页的方法。相对于执行自动化测试的时候,n条测试用例都要重新冷启动APP,节省了时间。在UI自动化的测试中,当前界面是首页作为自动化case开始的前提条件效率要高于冷启动APP执行自动化测试case。
定位App首页的方法也可以通过图像对比的方式进行,此方式要求首页的数据和图像长时间不会变动,如果有变动就无法通过对比图像来达到目的,本专利的定位App首页的方法不仅准确性更高,而且App首页变动也可以通过更新首页UI层级结构图的方式实现准确定位。
Claims (6)
1.在安卓客户端UI自动化过程中定位App首页的方法,其特征在于包括下述步骤:
S1,第一次冷启动APP时,记录App首页的UI层级结构树并保存;
S2,当测试用例执行结束时,将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,通过UI层级结构树判断当前界面是否是App首页,如果不是首页,返回上一级界面继续进行App首页判断,直到定位App首页。
2.根据权利要求1所述的在安卓客户端UI自动化过程中定位App首页的方法,其特征在于记录首页完整的UI层级结构树并保存。
3.根据权利要求1所述的在安卓客户端UI自动化过程中定位App首页的方法,其特征在于通过遍历当前界面的UI层级结构树和App首页的UI层级结构树进行对比,从根节点开始进行广度优先遍历,如果UI层级结构树不一致,认定当前界面不是首页;返回上一级界面再进行和App首页的UI层级结构树对比。
4.根据权利要求3所述的在安卓客户端UI自动化过程中定位App首页的方法,其特征在于广度优先遍历是用队列来实现的,从树的第一层即根结点开始,从上至下逐层遍历;在同一层中,按照从左到右的顺序对结点逐一访问。
5.在安卓客户端UI自动化过程中定位App首页的装置,其特征在于包括:
记录模块,第一次冷启动APP时,记录模块用于记录App首页的UI层级结构树并保存;
对比模块,当测试用例执行结束时,对比模块用于将测试用例执行结束时的当前界面的UI层级结构树和App首页的UI层级结构树进行对比,并判断当前界面是否是App首页,如果当前界面不是App首页,返回上一级界面继续首页判断,直到定位App首页。
6.UI自动化测试的方法,其特征在于第一个测试用例冷启动APP,剩下n-1条测试用例直接返回App首页,定位App首页的方法如权利要求1所述。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810159498.4A CN108572913A (zh) | 2018-02-26 | 2018-02-26 | 在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810159498.4A CN108572913A (zh) | 2018-02-26 | 2018-02-26 | 在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108572913A true CN108572913A (zh) | 2018-09-25 |
Family
ID=63576708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810159498.4A Pending CN108572913A (zh) | 2018-02-26 | 2018-02-26 | 在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108572913A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857636A (zh) * | 2018-12-25 | 2019-06-07 | 杭州茂财网络技术有限公司 | 一种在安卓客户端UI自动化过程中定位App首页的方法和应用 |
CN110543416A (zh) * | 2019-08-02 | 2019-12-06 | 广州探迹科技有限公司 | 一种自动测试终端程序的方法、装置、设备及存储介质 |
CN110825622A (zh) * | 2019-10-16 | 2020-02-21 | 中国建设银行股份有限公司 | 软件测试方法、装置、设备和计算机可读介质 |
CN110888807A (zh) * | 2019-11-15 | 2020-03-17 | 苏州金智渠信息技术有限公司 | 一种安卓应用自动抓包方法 |
CN111625451A (zh) * | 2020-05-19 | 2020-09-04 | 北京百度网讯科技有限公司 | 自动化测试环境的初始化方法、装置、设备和介质 |
CN113176921A (zh) * | 2021-04-30 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种桌面自动化定制化系统 |
CN115062206A (zh) * | 2022-05-30 | 2022-09-16 | 上海弘玑信息技术有限公司 | 一种网页元素的搜索方法和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150309917A1 (en) * | 2014-04-29 | 2015-10-29 | Yongyan Wang | Automation Framework Interface |
CN105868105A (zh) * | 2016-03-24 | 2016-08-17 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备及移动终端 |
CN106815134A (zh) * | 2015-11-27 | 2017-06-09 | 北京奇虎科技有限公司 | 一种app测试方法和装置 |
CN106961362A (zh) * | 2017-03-09 | 2017-07-18 | 杭州铜板街互联网金融信息服务有限公司 | 自动化测试方法及移动云测试系统 |
CN107193733A (zh) * | 2017-05-12 | 2017-09-22 | 微梦创科网络科技(中国)有限公司 | 模拟Monkey测试的方法、装置和系统 |
CN107402877A (zh) * | 2016-05-19 | 2017-11-28 | 福建天晴数码有限公司 | 基于Android端的APP测试方法及系统 |
-
2018
- 2018-02-26 CN CN201810159498.4A patent/CN108572913A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150309917A1 (en) * | 2014-04-29 | 2015-10-29 | Yongyan Wang | Automation Framework Interface |
CN106815134A (zh) * | 2015-11-27 | 2017-06-09 | 北京奇虎科技有限公司 | 一种app测试方法和装置 |
CN105868105A (zh) * | 2016-03-24 | 2016-08-17 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备及移动终端 |
CN107402877A (zh) * | 2016-05-19 | 2017-11-28 | 福建天晴数码有限公司 | 基于Android端的APP测试方法及系统 |
CN106961362A (zh) * | 2017-03-09 | 2017-07-18 | 杭州铜板街互联网金融信息服务有限公司 | 自动化测试方法及移动云测试系统 |
CN107193733A (zh) * | 2017-05-12 | 2017-09-22 | 微梦创科网络科技(中国)有限公司 | 模拟Monkey测试的方法、装置和系统 |
Non-Patent Citations (2)
Title |
---|
SURU: "Appium appium 在一台 iOS device 上执行多个测试用例,每一个测试用例都从 app 主页开始,请问每一个测试结束之后,如何恢复到 app 主页,让每一个 case 彼此独立", 《HTTPS://TESTERHOME.COM/TOPICS/10256》 * |
郭林莉: "写 android 自动化用例的时候,每条用例都要打开 app,登录,有点太重复了,有什么好办法优化一下吗", 《HTTPS://TESTERHOME.COM/TOPICS/11204?LOCALE=ZH-CN》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857636A (zh) * | 2018-12-25 | 2019-06-07 | 杭州茂财网络技术有限公司 | 一种在安卓客户端UI自动化过程中定位App首页的方法和应用 |
CN110543416A (zh) * | 2019-08-02 | 2019-12-06 | 广州探迹科技有限公司 | 一种自动测试终端程序的方法、装置、设备及存储介质 |
CN110825622A (zh) * | 2019-10-16 | 2020-02-21 | 中国建设银行股份有限公司 | 软件测试方法、装置、设备和计算机可读介质 |
CN110888807A (zh) * | 2019-11-15 | 2020-03-17 | 苏州金智渠信息技术有限公司 | 一种安卓应用自动抓包方法 |
CN110888807B (zh) * | 2019-11-15 | 2024-04-26 | 苏州金智渠信息技术有限公司 | 一种安卓应用自动抓包方法 |
CN111625451A (zh) * | 2020-05-19 | 2020-09-04 | 北京百度网讯科技有限公司 | 自动化测试环境的初始化方法、装置、设备和介质 |
CN113176921A (zh) * | 2021-04-30 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种桌面自动化定制化系统 |
CN113176921B (zh) * | 2021-04-30 | 2023-09-19 | 上海云扩信息科技有限公司 | 一种桌面自动化定制化系统 |
CN115062206A (zh) * | 2022-05-30 | 2022-09-16 | 上海弘玑信息技术有限公司 | 一种网页元素的搜索方法和电子设备 |
CN115062206B (zh) * | 2022-05-30 | 2023-04-07 | 上海弘玑信息技术有限公司 | 一种网页元素的搜索方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572913A (zh) | 在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 | |
JP7398068B2 (ja) | ソフトウェアテスト | |
US10949225B2 (en) | Automatic detection of user interface elements | |
US9600401B1 (en) | Automated GUI testing | |
US10372594B2 (en) | Method and device for retrieving test case based on code coverage | |
US9983984B2 (en) | Automated modularization of graphical user interface test cases | |
US8185917B2 (en) | Graphical user interface application comparator | |
US8799867B1 (en) | Methods, systems, and articles of manufacture for synchronizing software verification flows | |
US20190340512A1 (en) | Analytics for an automated application testing platform | |
US8904351B2 (en) | Maintenance of a subroutine repository for an application under test based on subroutine usage information | |
US8904358B1 (en) | Methods, systems, and articles of manufacture for synchronizing software verification flows | |
BRPI0901507A2 (pt) | comparador de aplicativo de interface gráfica de usuário | |
US9892017B2 (en) | Automatic repair of scripts | |
US20060101392A1 (en) | Strongly-typed UI automation model generator | |
EP2105837B1 (en) | Test script transformation analyzer with change guide engine | |
US11372750B2 (en) | Test script for application under test having abstracted action group instantiations | |
CN112463590B (zh) | 一种互动式Redfish的测试方法、装置以及电子设备 | |
US11681511B2 (en) | Systems and methods for building and deploying machine learning applications | |
CN109857636A (zh) | 一种在安卓客户端UI自动化过程中定位App首页的方法和应用 | |
CN113468050A (zh) | 基于画布的测试方法、装置、计算机设备及存储介质 | |
Karnane et al. | Automating root-cause analysis to reduce time to find bugs by up to 50% | |
US20240176728A1 (en) | Plug and play language acceptance testing | |
Gupta et al. | Review Paper on Comparison of Automation Testing Tools Selenium and QTP | |
CN114297055A (zh) | 一种基于智能学习的WebUI自动化测试方法 | |
Jain | A Good Test Script |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180925 |
|
RJ01 | Rejection of invention patent application after publication |