CN104933174B - 基于控件自动化遍历解决手机app机型适配问题的方法 - Google Patents
基于控件自动化遍历解决手机app机型适配问题的方法 Download PDFInfo
- Publication number
- CN104933174B CN104933174B CN201510373883.5A CN201510373883A CN104933174B CN 104933174 B CN104933174 B CN 104933174B CN 201510373883 A CN201510373883 A CN 201510373883A CN 104933174 B CN104933174 B CN 104933174B
- Authority
- CN
- China
- Prior art keywords
- mobile phone
- task
- control
- app
- test
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于控件自动化遍历解决手机APP机型适配问题的方法,方法采用的系统配置为:预装有Android系统的智能手机、预装有Linux系统的电脑以及数据线;方法的实现分为六个步骤:上传目标APP到远程服务端,并保存到文件服务器;配置任务服务器,形成任务队列,将任务信息存入数据库;调度服务器通过查询数据库得到任务队列;PC端任务Runner模块通过请求任务的形式向任务调度服务器获取任务;PC端任务Runner模块通过USB与机连接;将数据进行汇总后上报给数据回收服务器进行入库,形成测试报告给予展示。本发明实现了支持纯控件APP自动化遍历适配测试、支持HTML型应用测试、支持混合型应用自动化遍历适配测试。
Description
技术领域
本发明涉及一种解决手机APP机型适配问题的方法,尤其涉及一种基于控件自动化遍历解决手机APP机型适配问题的方法。
背景技术
目前手机品牌过多导致Android智能手机的碎片化日趋严重,给行业内的APP开发者带来了各种适配问题;目前在自动化适配方案上还处于一个初步阶段,现阶段的适配问题主要表现为:1、功能简单,适配方案只是单纯的APP安装,卸载和部分APP控件适配,无法更深一层对APP进行自动测试;2、无法支持HTML型应用和混合型应用(HTML+基本控件);3、适配成本高,更深一层的功能适配还需要人工来完成,导致人力成本大量增加,同时效率也较慢。
发明内容
为了解决上述问题中的不足之处,本发明提供了一种基于控件自动化遍历解决手机APP机型适配问题的方法。
为解决以上技术问题,本发明采用的技术方案是:一种基于控件自动化遍历解决手机APP机型适配问题的方法,方法采用的系统配置为:预装有Android系统的智能手机、预装有Linux系统的电脑以及数据线;
方法实现的步骤为:
(1)、上传目标APP到远程服务端,并保存到文件服务器;
(2)、配置任务服务器,形成任务队列,将任务信息存入数据库;
(3)、调度服务器通过查询数据库得到任务队列;
(4)、PC端任务Runner模块通过请求任务的形式向任务调度服务器获取任务;
(5)、PC端任务Runner模块通过USB与手机连接,通过调用基于Android系统内部提供的Android Instrumentation框架和Android Uiautomator框架开发出的程序驱动手机执行自动遍历测试,启动遍历测试引擎;
(6)、将数据进行汇总后上报给数据回收服务器进行入库,形成测试报告给予展示。
Runner模块的实现步骤为:
(1)、采用AAPT方式获取被测APP的信息,其中包括app的包名,app的launcherAcitivty名,采用了Instrumentation框架的ActivityTestCast接口,在通过复写Setup接口加入Socket长链接,生成Android测试工程并打包成测试APP包,其中测试包连同被测APP一起安装到手机上,通过Android shellam命令启动手机端的测试包,并与PC端保持一个socket的长链接;
(2)、PC端通过socket的长链接发送命令到手机测试包,手机测试包接到命令后将获取控件和获取HTML元素并形成数据文件回传给PC端;
(3)、PC端接到手机端发来的布局数据文件后将每个元素从手机屏幕的左上角到右下角的顺序进行排列;
(4)、电脑端通过元素的排列顺序,给手机发送点击,滑动,按键命令,驱动手机相应事件,并记录当前控件或者元素已经被触发过;
(5)、手机端响应事件后,通过java反射方式获取APP的VIEW父对象,并遍历子控件形成控件树,判断页面的变化;
(6)、通过页面的变化条件判断程序是否执行下一步动作的点击。
获取控件和获取HTML元素的方式为:获取控件:通过反射的方式获取当前整个页面的view对象,通过获取HTML元素:找到页面中包含的webview控件,通过执行js的方式获取HTML元素。
本发明的优点为:
1、本发明实现了支持纯控件APP自动化遍历适配测试。
2、本发明实现了支持HTML型应用测试。
3、本发明实现了支持混合型应用(标准控件+HTML元素)自动化遍历适配测试。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明的整体运行流程图。
图2为本发明的Runner模块实现方法流程图。
Android Uiautomator:Android官方提供的基于Android控件适配的测试方案。
Android Instrumentation:Android官方提供的基于JUnit扩展的的测试框架。
具体实施方式
本发明的实现基于Android提供的Android Instrumentation框架和AndroidUiautomator框架;
本发明的实现采用的系统配置为:预装有Android系统的智能手机、预装有Linux系统的电脑以及数据线;
如图1所示,本发明的实现步骤为:
01、上传目标APP到远程服务端,并保存到文件服务器;
02、配置任务服务器,形成任务队列,将任务信息存入数据库;
03、调度服务器通过查询数据库得到任务队列;
04、PC端任务Runner模块通过请求任务的形式向任务调度服务器获取任务;
05、PC端任务Runner模块通过USB与手机连接,通过调用基于Android系统内部提供的Android Instrumentation框架和Android Uiautomator框架开发出的程序驱动手机执行自动遍历测试(启动遍历测试引擎);
06、将数据进行汇总后上报给数据回收服务器进行入库,形成测试报告给予展示。
Runner模块(TCP-100有线网络模块)的实现步骤为(如图2所示):
1、采用AAPT方式获取被测APP的信息,其中包括app的包名,app的launcherAcitivty名,采用了Instrumentation框架的ActivityTestCast接口,在通过复写Setup接口加入Socket长链接,生成Android测试工程并打包成测试APP包,其中测试包连同被测APP一起安装到手机上,通过Android shellam命令启动手机端的测试包,并与PC端保持一个socket的长链接;
2、PC端通过socket的长链接发送命令到手机测试包,手机测试包接到命令后将获取控件和获取HTML元素(被测应用的所有控件布局元素属性和HTML元素布局属性)并形成数据文件回传给PC端;
3、PC端接到手机端发来的布局数据文件后将每个元素从手机屏幕的左上角到右下角的顺序进行排列;
4、电脑端通过元素的排列顺序,给手机发送点击,滑动,按键命令,驱动手机相应事件,并记录当前控件或者元素已经被触发过;
5、手机端响应事件后,通过java反射方式获取APP的VIEW父对象,并遍历子控件形成控件树,判断页面的变化;
6、通过页面的变化条件判断程序是否执行下一步动作的点击。
图2中获取控件和HTML元素的方式为:
1、获取控件:通过反射的方式获取当前整个页面的view对象,通过遍历父子控件的方式获取;
2、获取HTML元素:找到页面中包含的webview控件,通过执行js的方式获取HTML元素。
上述实施方式并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的技术方案范围内所做出的变化、改型、添加或替换,也均属于本发明的保护范围。
Claims (2)
1.一种基于控件自动化遍历解决手机APP机型适配问题的方法,其特征在于:所述方法采用的系统配置为:预装有Android系统的智能手机、预装有Linux系统的电脑以及数据线;
所述方法实现的步骤为:
(1)、上传目标APP到远程服务端,并保存到文件服务器;
(2)、配置任务服务器,形成任务队列,将任务信息存入数据库;
(3)、调度服务器通过查询数据库得到任务队列;
(4)、PC端任务Runner模块通过请求任务的形式向任务调度服务器获取任务;
(5)、PC端任务Runner模块通过USB与手机连接,通过调用基于Android系统内部提供的Android Instrumentation框架和Android Uiautomator框架开发出的程序驱动手机执行自动遍历测试,启动遍历测试引擎;
(6)、将数据进行汇总后上报给数据回收服务器进行入库,形成测试报告给予展示;
所述Runner模块的实现步骤为:
(1)、采用AAPT方式获取被测APP的信息,其中包括app的包名,app的launcherAcitivty名,采用了Instrumentation框架的ActivityTestCast接口,在通过复写Setup接口加入Socket长链接,生成Android测试工程并打包成测试APP包,其中测试包连同被测APP一起安装到手机上,通过Android shell am命令启动手机端的测试包,并与PC端保持一个socket的长链接;
(2)、PC端通过socket的长链接发送命令到手机测试包,手机测试包接到命令后将获取控件和获取HTML元素并形成数据文件回传给PC端;
(3)、PC端接到手机端发来的布局数据文件后将每个HTML元素按照从手机屏幕的左上角到右下角的顺序进行排列;
(4)、电脑端按照HTML元素的排列顺序,给手机发送点击,滑动,按键命令,驱动手机相应事件,并记录当前控件或者HTML元素已经被触发过;
(5)、手机端响应事件后,通过java反射方式获取APP的VIEW父对象,并遍历子控件形成控件树,判断页面的变化;
(6)、通过页面的变化条件判断程序是否执行下一步动作的点击。
2.根据权利要求1所述的基于控件自动化遍历解决手机APP机型适配问题的方法,其特征在于:所述获取控件和获取HTML元素的方式为:
(1)、获取控件:通过反射的方式获取当前整个页面的view对象,通过遍历父子控件的方式获取;
(2)、获取HTML元素:找到页面中包含的webview控件,通过执行js的方式获取HTML元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510373883.5A CN104933174B (zh) | 2015-07-01 | 2015-07-01 | 基于控件自动化遍历解决手机app机型适配问题的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510373883.5A CN104933174B (zh) | 2015-07-01 | 2015-07-01 | 基于控件自动化遍历解决手机app机型适配问题的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104933174A CN104933174A (zh) | 2015-09-23 |
CN104933174B true CN104933174B (zh) | 2018-05-22 |
Family
ID=54120341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510373883.5A Active CN104933174B (zh) | 2015-07-01 | 2015-07-01 | 基于控件自动化遍历解决手机app机型适配问题的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104933174B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391763B (zh) * | 2015-10-13 | 2019-01-04 | 北京奇虎科技有限公司 | 对多个apk文件进行加固的方法和服务器 |
CN106126425B (zh) * | 2016-06-30 | 2018-11-30 | 北京视觉世界科技有限公司 | 基于Android自动化测试框架的功能遍历方法及系统 |
CN106201869B (zh) * | 2016-07-01 | 2019-10-29 | Tcl移动通信科技(宁波)有限公司 | 一种高通WiFi芯片信号发射点测方法及系统 |
CN106648697B (zh) * | 2016-12-30 | 2020-11-10 | 上海二三四五网络科技有限公司 | 一种点亮终端的方法及自动控制终端的方法 |
CN106851513B (zh) * | 2016-12-30 | 2020-06-30 | 歌尔科技有限公司 | 一种电子产品的测试方法和系统 |
CN107391354B (zh) * | 2017-07-25 | 2020-11-13 | 捷开通讯(深圳)有限公司 | 自动监测终端性能的方法及系统、存储装置 |
CN107783899B (zh) * | 2017-08-25 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 应用程序中h5页面的测试方法、装置和计算机设备 |
CN109522217A (zh) * | 2018-10-16 | 2019-03-26 | 深圳壹账通智能科技有限公司 | 应用程序的内存测试方法及终端设备 |
CN109491890A (zh) * | 2018-10-16 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 应用程序的接口扫描方法及终端设备 |
CN109871221B (zh) * | 2019-02-01 | 2022-02-08 | 中国电子科技集团公司第二十八研究所 | 一种针对移动终端设备快速装机部署移动应用软件的系统 |
CN110989876B (zh) * | 2019-10-30 | 2023-09-22 | 深圳市普天宜通技术股份有限公司 | 一种应用程序适配方法、移动终端及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544100A (zh) * | 2012-07-12 | 2014-01-29 | 腾讯科技(深圳)有限公司 | 便携数据处理设备应用程序的测试方法、系统和客户端 |
WO2014137014A1 (ko) * | 2013-03-08 | 2014-09-12 | (주)인프라웨어테크놀러지 | 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법 |
CN104598380A (zh) * | 2015-01-16 | 2015-05-06 | 广东欧珀移动通信有限公司 | 一种基于控件的自动化测试方法及系统 |
CN104699604A (zh) * | 2015-02-28 | 2015-06-10 | 百度在线网络技术(北京)有限公司 | 用于测试基于定制浏览内核的安卓应用的方法及装置 |
-
2015
- 2015-07-01 CN CN201510373883.5A patent/CN104933174B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544100A (zh) * | 2012-07-12 | 2014-01-29 | 腾讯科技(深圳)有限公司 | 便携数据处理设备应用程序的测试方法、系统和客户端 |
WO2014137014A1 (ko) * | 2013-03-08 | 2014-09-12 | (주)인프라웨어테크놀러지 | 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법 |
CN104598380A (zh) * | 2015-01-16 | 2015-05-06 | 广东欧珀移动通信有限公司 | 一种基于控件的自动化测试方法及系统 |
CN104699604A (zh) * | 2015-02-28 | 2015-06-10 | 百度在线网络技术(北京)有限公司 | 用于测试基于定制浏览内核的安卓应用的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104933174A (zh) | 2015-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104933174B (zh) | 基于控件自动化遍历解决手机app机型适配问题的方法 | |
CN104424095A (zh) | 一种移动终端的自动化测试方法和系统 | |
CN106060622A (zh) | 电视的截屏方法及电视 | |
CN109977027A (zh) | 一种性能测试的方法、装置、系统、设备和存储介质 | |
CN114936062B (zh) | 一种设备自动调试的方法、装置、设备、系统及存储介质 | |
CN103795711A (zh) | 基于手机客户端的自动化测试方法及系统 | |
CN102780577A (zh) | 一种网络故障检测方法 | |
CN110704148B (zh) | 设备页面元素的获取方法、装置、服务器及存储介质 | |
CN103746458A (zh) | 一种电网运行状况的实时表示方法 | |
CN104581390A (zh) | 一种基于Android系统的EPG客户端检测方法 | |
CN102763424A (zh) | 发送由编解码器压缩的视频内容的方法和设备 | |
CN102917007B (zh) | 一种基于flash动画实时展示监测设备状态的系统及方法 | |
CN108345618A (zh) | 一种调度主站服务化数据访问与处理方法和装置 | |
CN108173957B (zh) | 一种Http接口快速配置联调平台 | |
CN104133675B (zh) | 一种基于动态配置技术的配网多主题应用界面集成方法 | |
CN115544672A (zh) | 数字孪生仿真方法、系统、装置及服务器 | |
CN104463695A (zh) | 电力系统调度反事故模拟系统及其方法 | |
CN205693785U (zh) | 一种网络课程录制系统 | |
CN116233097A (zh) | 一种基于web的工业组态建站方法及其工业组态系统 | |
CN101488088A (zh) | 一种使用javascript模板展现前台grid数据表格数据的方法 | |
CN106406873B (zh) | 一种基于电力gis的可视化应用开发框架 | |
CN105207854A (zh) | 多终端并发测试系统及方法 | |
CN114092169A (zh) | 下单测试方法和系统以及执行下单测试方法的设备 | |
CN105976286A (zh) | 一种教育资源管理系统 | |
CN112016953A (zh) | 一种自动检测网络广告投放状态的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100020 Beijing City, Chaoyang District Hing Building 6, room 702, block B Applicant after: Beijing Bo Hongyuan data Polytron Technologies Inc Address before: 100020 Beijing City, Chaoyang District Hing Building 6, room 702, block B Applicant before: BEIJING BONREE HONGYUAN TECHNOLOGY DEVELOPMENT CO., LTD. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |