CN108228464A - 一种基于数据驱动的移动应用ui测试框架及其实现方法 - Google Patents

一种基于数据驱动的移动应用ui测试框架及其实现方法 Download PDF

Info

Publication number
CN108228464A
CN108228464A CN201810031101.3A CN201810031101A CN108228464A CN 108228464 A CN108228464 A CN 108228464A CN 201810031101 A CN201810031101 A CN 201810031101A CN 108228464 A CN108228464 A CN 108228464A
Authority
CN
China
Prior art keywords
test
driven
data
test case
mobile application
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.)
Granted
Application number
CN201810031101.3A
Other languages
English (en)
Other versions
CN108228464B (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.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software 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 Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN201810031101.3A priority Critical patent/CN108228464B/zh
Publication of CN108228464A publication Critical patent/CN108228464A/zh
Application granted granted Critical
Publication of CN108228464B publication Critical patent/CN108228464B/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/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于数据驱动的移动应用UI测试框架及其实现方法,属于计算机应用技术领域。本发明的基于数据驱动的移动应用UI测试框架包括设计时Web集成平台和运行时框架,所述设计时Web集成平台包括测试用例编排模块、设备信息配置模块和测试用例生成模块,设计时Web集成平台与对象库、测试用例库和配置库相连接,所述测试用例编排模块、设备信息配置模块分别与运行时框架相连接,运行时框架和设计时Web集成平台接口由数据驱动,运行时框架向外连接若干设备。该发明的基于数据驱动的移动应用UI测试框架,测试人员无需任何编程基础,极大的降低了自动化测试门槛,具有很好的推广应用价值。

Description

一种基于数据驱动的移动应用UI测试框架及其实现方法
技术领域
本发明涉及计算机应用技术领域,具体提供一种基于数据驱动的移动应用UI测试框架及其实现方法。
背景技术
计算机具有存储信息量大,使用者获取信息方便快捷等优点,受到广泛的应用。随着科技的发展,应用终端化成为趋势。移动应用由于其自身特点,版本迭代更新频繁是常态,但是每次版本发布都需要进行测试,给测试人员带来了很大的工作量,自动化测试可以很好的解决这个问题,但是自动化测试具有门槛高、维护难等特点,通常要经过大量培训和熟悉期,测试人员才能胜任自动化测试的脚本开发和执行维护工作,给自动化测试带来了很大的限制,同时增加了企业的投资成本。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种测试人员无需任何编程基础,极大的降低了自动化测试门槛的基于数据驱动的移动应用UI测试框架。
本发明进一步的技术任务是提供一种基于数据驱动的移动应用UI测试实现方法。
为实现上述目的,本发明提供了如下技术方案:
一种基于数据驱动的移动应用UI测试框架,该测试框架包括设计时Web集成平台和运行时框架,所述设计时Web集成平台包括测试用例编排模块、设备信息配置模块和测试用例生成模块,设计时Web集成平台与对象库、测试用例库和配置库相连接,所述测试用例编排模块、设备信息配置模块分别与运行时框架相连接,运行时框架和设计时Web集成平台接口由数据驱动,运行时框架向外连接若干设备。
UI(User Interface)即用户界面。
所述对象库用于存储页面元素的定位信息。
所述测试用例库用于存储测试用例信息。
所述配置库用于存储Appium启动参数和测试场景的信息
所述运行时框架执行所需的配置文件都支持界面化操作,使用者只需知道APK(Android Package即Android安装包)的功能测试场景,就能按给定向导生成确定格式的配置文件。
所述基于数据驱动的移动应用UI测试框架,隔离测试用例的设计和执行,通过界面化操作实现测试脚本的录制与运行配置,运行时无需人为干预,测试人员无需任何编程基础,允许测试用例设计人员不必了解测试用例运行原理,执行可监控,问题可追踪,测试用例设计和脚本运行配置纯文本化,极大的降低了移动应用UI自动化门槛。
测试用例和测试框架的关系为非嵌入式的,测试框架的实现逻辑特点在运行时所需的操作步骤的参数为配置文件的一个节点,测试框架只需解析该配置文件即可。
作为优选,所述设计时Web集成平台支持测试用例录入、测试用例编排、设备信息配置和测试用例生成功能。
作为优选,所述测试用例录入、测试用例编排、设备信息配置和测试用例生成功能的配置文件为YAML格式。
作为优选,所述数据驱动由YAML格式配置文件完成。
一种基于数据驱动的移动应用UI测试实现方法,该方法主要通过以下步骤完成:
1)、应用元素对象库抓取
通过扩展Android SDK的uiautomatorviewer,实现应用界面元素定位路径的自动抓取,快速建立对象库;
2)、测试用例模型关键字定义
测试脚本执行以测试用例为基础,测试用例执行所需的参数均由测试脚本传入,关键字包括测试用例编号、测试用例描述、元素信息、定位方式、操作信息、操作参数和操作说明;
3)、测试用例YAML配置文件生成
该部分由设计时Web集成平台完成,该设计时Web集成平台基于1)中的对象库,实现2)中测试用例模型字段的录入、修改、删除和保存,在测试用例的最后录入待验证界面的一个元素作为验证项,最后点击界面的“生成”按钮,直接生成YAML配置文件;
4)、运行时框架文件配置
由YAML配置文件指定运行时框架文件,运行文件为YAML格式;
5)、测试脚本执行
运行时测试脚本需要的参数为设备列表,每个设备包括设备号、设备平台、平台版本号、Appium端口号、需要执行的测试场景配置文件名称,测试脚本做成批处理程序,参数设置完成后,在Web集成平台点击“运行”完成脚本运行。
运行时框架包括以下功能:
A、移动应用自动安装与卸载。
B、基于WebDriver封装了自定义的appDriver。
C、日志功能。
D、中断处理功能。
E、异常截图功能。
F、移动应用资源消耗采集功能。
G、自动生成测试报告功能。
H、邮件发送测试报告功能。
I、支持多机并发测试。
作为优选,所述1)中快速建立对象库,将信息统一保存到数据库表PageObject中。
作为优选,所述3)中设计时Web集成平台还提供测试用例编排、设备信息配置和测试用例生成。
作为优选,所述运行时框架基于Appium协议,采用Python自带的Unitest框架,数据驱动借用Python的第三方库ddt实现。
与现有技术相比,本发明的基于数据驱动的移动应用UI测试框架具有以下突出的有益效果:
(一)所述基于数据驱动的移动应用UI测试框架隔离测用例的设计和执行,分别由设计时Web集成平台和运行时框架完成,允许设计测试用例设计人员不必了解测试用例运行原理;
(二)通过界面化操作实现测试脚本的录制与运行配置,使用者只需知道APK的功能测试场景,就可按给定向导生成确定格式的YAML配置文件;
(三)测试用例运行时无需人为干预,执行可监控,问题可追踪;
(四)设计时Web集成平台和运行时框架接口由YAML配置文件数据驱动,具有良好的推广应用价值。
附图说明
图1是本发明所述基于数据驱动的移动应用UI测试框架的拓扑图。
具体实施方式
下面将结合附图和实施例,对本发明的基于数据驱动的移动应用UI测试框架及其实现方法作进一步详细说明。
实施例
如图1所示,本发明的基于数据驱动的移动应用UI测试框架,由对象库、测试用例库、配置库、设计时Web集成平台和运行时框架构成。
设计时Web集成平台包括测试用例编排模块、设备信息配置模块和测试用例生成模块。Web集成平台支持测试用例录入、测试用例编排、设备信息配置和测试用例生成功能。测试用例录入、测试用例编排、设备信息配置和测试用例生成功能的配置文件为YAML格式。设计时Web集成平台与对象库、测试用例库和配置库相连接,测试用例编排模块、设备信息配置模块分别与运行时框架相连接。运行时框架和设计时Web集成平台接口由数据驱动,数据驱动由YAML格式配置文件完成。运行时框架向外连接若干设备,测试脚本在若干设备中执行。
本发明的基于数据驱动的移动应用UI测试实现方法广泛支持Android和iOS的手机或是平板电脑,同样也适用于Web的UI自动化测试。本发明的基于数据驱动的移动应用UI测试实现方法主要通过以下步骤完成:
1、应用元素对象库抓取
通过扩展Android SDK的uiautomatorviewer,当获取到应用的一个页面时,点击生成,会将该页面中的所有元素保存到指定的文本,多次操作直到抓取完所有的页面元素,生成对象库,最后将信息统一保存到制定的数据表PageObject中。举例如下:
xpath={"//android.widget.TextView[@text='集团新闻']"}
description="集团新闻"
xpath={"//android.widget.RadioButton[@text='最新动态']"}
description="最新动态"
对象库对应的PageObject表结构如表1所示:
表1
字段编号 字段名称 字段类型 说明
ELEMENT_ID 元素编号 Varchar(100) 元素唯一标识
ELEMENT_INFO 元素定位 Varchar(200) 元素的定位路径
FIND_TYPE 定位方式 Varchar(20) 元素定位方式
OPERATE_TYPE 操作方式 Varchar(20) 元素操作方式
INPUT_PARAMS 输入参数 Varchar(200) 元素为文本框时使用
ROLL_TIME 滚动次数 INT 元素需要滑动时使用
DESCRIPTION 说明 Varchar(200) 备注信息
2、测试用例模型关键字定义
测试脚本执行以测试用例为基础,测试用例执行所需的参数均由测试脚本传入,关键字包括测试用例编号、测试用例描述、元素信息、定位方式、操作信息、操作参数和操作说明。
测试用例模型对应的TestCase表结构如表2所示:
表2
字段编号 字段名称 字段类型 说明
TEST_ID 用例编号 Varchar(100) 测试用例编号
TEST_INFO 用例描述 Varchar(200) 测试场景描述
测试用例和元素的映射关系表TPTable表结构如表3所示:
表3
3、测试用例YAML配置文件的生成
设计时Web集成平台基于对象库,使用者根据测试场景,选择元素并选择对应的操作方式,依次录入操作步骤,所有操作步骤录入完成后,在测试用例的最后录入一个待验证界面的一个元素作为验证项,最后点击界面的“生成”按钮,系统会直接生成框架可是别的YAML配置文件。举例如下:
-
test_intr:系统登录测试
test_id:login
element_info:"com.xx.emmcloud:id/username_edit"
find_type:by_id
operate_type:send_keys
text:puppet4
description:输入用户名
-
element_info:com.xx.emmcloud:id/password_edit
find_type:by_id
operate_type:send_keys
text:123456
description:输入密码
-
element_info:com.xx.emmcloud:id/login_btn
find_type:by_id
operate_type:click
description:点击登录按钮
-
element_info:com.xx.emmcloud:id/work_right_img
find_type:by_id
该设计时Web集成平台还提供测试用例编排、设备信息配置和测试用例生成。
4、运行时框架文件配置
运行时框架基于Appium协议,采用Python自带的Unitest框架,数据驱动借用Python的第三方库ddt实现。
由YAML配置文件指定运行时框架文件,运行文件为YAML格式。文件格式定义如下:
其中devices是设备编号,运行时框架会根据该YAML文件有几个节点,判定是否需要多机并行;port为Appium的连接端口号;config为Appium服务端配置;platformName为测试客户端平台;platformVersion为测试客户端平台的端口号;testType为在该测试客户端要执行的测试用例场景编排。
5、测试脚本执行
运行时测试脚本需要的参数为设备列表,每个设备包括设备号、设备平台、平台版本号、Appium端口号、需要执行的测试场景配置文件名称,测试脚本做成批处理程序,参数设置完成后,在Web集成平台点击“运行”完成脚本运行。
运行日志记录在指定目录。
执行报告会以邮件的形式发送给邮件列表的收件人。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (8)

1.一种基于数据驱动的移动应用UI测试框架,其特征在于:该测试框架包括设计时Web集成平台和运行时框架,所述设计时Web集成平台包括测试用例编排模块、设备信息配置模块和测试用例生成模块,设计时Web集成平台与对象库、测试用例库和配置库相连接,所述测试用例编排模块、设备信息配置模块分别与运行时框架相连接,运行时框架和设计时Web集成平台接口由数据驱动,运行时框架向外连接若干设备。
2.根据权利要求1所述的基于数据驱动的移动应用UI测试框架,其特征在于:所述设计时Web集成平台支持测试用例录入、测试用例编排、设备信息配置和测试用例生成功能。
3.根据权利要求2所述的基于数据驱动的移动应用UI测试框架,其特征在于:所述测试用例录入、测试用例编排、设备信息配置和测试用例生成功能的配置文件为YAML格式。
4.根据权利要求3所述的基于数据驱动的移动应用UI测试框架,其特征在于:所述数据驱动由YAML格式配置文件完成。
5.一种基于数据驱动的移动应用UI测试实现方法,其特征在于:该方法主要通过以下步骤完成:
1)、应用元素对象库抓取
通过扩展Android SDK的uiautomatorviewer,实现应用界面元素定位路径的自动抓取,快速建立对象库;
2)、测试用例模型关键字定义
测试脚本执行以测试用例为基础,测试用例执行所需的参数均由测试脚本传入,关键字包括测试用例编号、测试用例描述、元素信息、定位方式、操作信息、操作参数和操作说明;
3)、测试用例YAML配置文件生成
该部分由设计时Web集成平台完成,设计时Web集成平台基于1)中的对象库,实现2)中测试用例模型字段的录入、修改、删除和保存,在测试用例的最后录入待验证界面的一个元素作为验证项,最后点击界面的“生成”按钮,直接生成YAML配置文件;
4)、运行时框架文件配置
由YAML配置文件指定运行时框架文件,运行文件为YAML格式;
5)、测试脚本执行
运行时测试脚本需要的参数为设备列表,每个设备包括设备号、设备平台、平台版本号、Appium端口号、需要执行的测试场景配置文件名称,测试脚本做成批处理程序,参数设置完成后,在Web集成平台点击“运行”完成脚本运行。
6.根据权利要求5所述的基于数据驱动的移动应用UI测试实现方法,其特征在于:所述1)中快速建立对象库,将信息统一保存到数据库表PageObject中。
7.根据权利要求5或6所述的基于数据驱动的移动应用UI测试实现方法,其特征在于:所述3)中设计时Web集成平台还提供测试用例编排、设备信息配置和测试用例生成。
8.根据权利要求7所述的基于数据驱动的移动应用UI测试实现方法,其特征在于:所述运行时框架基于Appium协议,采用Python自带的Unitest框架,数据驱动借用Python的第三方库ddt实现。
CN201810031101.3A 2018-01-12 2018-01-12 一种基于数据驱动的移动应用ui测试框架及其实现方法 Active CN108228464B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810031101.3A CN108228464B (zh) 2018-01-12 2018-01-12 一种基于数据驱动的移动应用ui测试框架及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810031101.3A CN108228464B (zh) 2018-01-12 2018-01-12 一种基于数据驱动的移动应用ui测试框架及其实现方法

Publications (2)

Publication Number Publication Date
CN108228464A true CN108228464A (zh) 2018-06-29
CN108228464B CN108228464B (zh) 2020-12-29

Family

ID=62640387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810031101.3A Active CN108228464B (zh) 2018-01-12 2018-01-12 一种基于数据驱动的移动应用ui测试框架及其实现方法

Country Status (1)

Country Link
CN (1) CN108228464B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502437A (zh) * 2019-07-31 2019-11-26 惠州市德赛西威汽车电子股份有限公司 一种车载蓝牙应用程序的测试系统及其方法
CN110727575A (zh) * 2018-07-17 2020-01-24 腾讯科技(深圳)有限公司 一种信息处理方法、系统、装置、以及存储介质
CN110888818A (zh) * 2019-12-22 2020-03-17 普信恒业科技发展(北京)有限公司 测试用例配置系统与方法,自动化测试系统与方法
CN112612710A (zh) * 2020-12-28 2021-04-06 上海安畅网络科技股份有限公司 一种自动测试方法和系统
CN114036049A (zh) * 2021-11-10 2022-02-11 四川启睿克科技有限公司 一种基于跨端的ui自动化测试方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536889A (zh) * 2014-12-26 2015-04-22 北京奇虎科技有限公司 用户界面测试的方法、用例管理平台、操作终端及系统
CN106547689A (zh) * 2016-10-20 2017-03-29 金航数码科技有限责任公司 一种基于web的自动化测试用例开发系统及方法
CN106598859A (zh) * 2016-12-16 2017-04-26 四川长虹电器股份有限公司 Appium多线程实现系统及方法
US20170277624A1 (en) * 2016-03-22 2017-09-28 Tata Consultancy Services Limited Method and system for automated user interface (ui) testing through model driven techniques
CN107301127A (zh) * 2017-06-22 2017-10-27 郑州云海信息技术有限公司 一种基于Robot Framework的自动化测试的方法与装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117220A (zh) * 2015-08-14 2015-12-02 浪潮通用软件有限公司 一种基于元数据描述的业务实体操作管理与自动执行方法
CN107133177A (zh) * 2017-05-12 2017-09-05 郑州云海信息技术有限公司 一种自动化测试框架
CN107491395A (zh) * 2017-09-06 2017-12-19 郑州云海信息技术有限公司 一种自定义测试用例框架使用方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536889A (zh) * 2014-12-26 2015-04-22 北京奇虎科技有限公司 用户界面测试的方法、用例管理平台、操作终端及系统
US20170277624A1 (en) * 2016-03-22 2017-09-28 Tata Consultancy Services Limited Method and system for automated user interface (ui) testing through model driven techniques
CN106547689A (zh) * 2016-10-20 2017-03-29 金航数码科技有限责任公司 一种基于web的自动化测试用例开发系统及方法
CN106598859A (zh) * 2016-12-16 2017-04-26 四川长虹电器股份有限公司 Appium多线程实现系统及方法
CN107301127A (zh) * 2017-06-22 2017-10-27 郑州云海信息技术有限公司 一种基于Robot Framework的自动化测试的方法与装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
我要的明天: "移动APP自动化测试框架", 《HTTPS://WWW.CNBLOGS.COM/FQFANQI/P/6139435.HTML》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727575A (zh) * 2018-07-17 2020-01-24 腾讯科技(深圳)有限公司 一种信息处理方法、系统、装置、以及存储介质
CN110727575B (zh) * 2018-07-17 2021-04-23 腾讯科技(深圳)有限公司 一种信息处理方法、系统、装置、以及存储介质
CN110502437A (zh) * 2019-07-31 2019-11-26 惠州市德赛西威汽车电子股份有限公司 一种车载蓝牙应用程序的测试系统及其方法
CN110502437B (zh) * 2019-07-31 2023-07-28 惠州市德赛西威汽车电子股份有限公司 一种车载蓝牙应用程序的测试系统及其方法
CN110888818A (zh) * 2019-12-22 2020-03-17 普信恒业科技发展(北京)有限公司 测试用例配置系统与方法,自动化测试系统与方法
CN112612710A (zh) * 2020-12-28 2021-04-06 上海安畅网络科技股份有限公司 一种自动测试方法和系统
CN112612710B (zh) * 2020-12-28 2022-02-25 上海安畅网络科技股份有限公司 一种自动测试方法和系统
CN114036049A (zh) * 2021-11-10 2022-02-11 四川启睿克科技有限公司 一种基于跨端的ui自动化测试方法

Also Published As

Publication number Publication date
CN108228464B (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN108228464A (zh) 一种基于数据驱动的移动应用ui测试框架及其实现方法
CN101526919B (zh) 生成脚本文件对Web应用软件进行测试的方法及装置
CN108845940B (zh) 一种企业级信息系统自动化功能测试方法和系统
CN100451989C (zh) 软件测试系统及测试方法
CN107608901B (zh) 基于Jmeter的测试方法及装置、存储介质、电子设备
CN113706110B (zh) 一种fpga测试工具一体化测试管理平台
CN106844190A (zh) 测试脚本自动生成方法及装置
CN106776320A (zh) 安卓智能终端自动化测试系统及方法
CN112269744A (zh) 系统异常测试方法、装置、计算机设备和存储介质
CN105786695A (zh) 数据测试方法及系统
CN108829594A (zh) 一种Linux下自动化测试BMC web资产信息功能的方法及系统
CN103186463B (zh) 确定软件的测试范围的方法和系统
CN109885493A (zh) 一种基于Android平台和Java反射的自动化混合框架
CN110928796A (zh) 一种自动化测试平台
CN105893685A (zh) 一种超大规模集成电路vlsi形式化验证平台及方法
CN107423221A (zh) 一种web应用可持续测试方法及系统
Saluja et al. Optimized approach for antipattern detection in service computing architecture
CN114490337A (zh) 调测方法、调测平台、设备及存储介质
JP2006059108A (ja) 情報システム開発試験支援システム
CN111400191A (zh) 网页安全测试方法、装置及计算机可读存储介质
CN115061916B (zh) 自动化生成接口测试用例的方法及其相关设备
CN103714066B (zh) 基于模板的数据库分析器
CN113238901B (zh) 多设备的自动化测试方法及装置、存储介质、计算机设备
CN109726476B (zh) 基于uvm验证平台的验证方法和装置
CN113468256A (zh) 一种连接多种数据库并执行sql命令的方法、设备及介质

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zheng Weibo

Inventor after: Song Qinqin

Inventor before: Song Qinqin

GR01 Patent grant
GR01 Patent grant