[go: up one dir, main page]

CN106681899A - 基于Jmeter的安卓UI自动化测试方法及系统 - Google Patents

基于Jmeter的安卓UI自动化测试方法及系统 Download PDF

Info

Publication number
CN106681899A
CN106681899A CN201510753145.3A CN201510753145A CN106681899A CN 106681899 A CN106681899 A CN 106681899A CN 201510753145 A CN201510753145 A CN 201510753145A CN 106681899 A CN106681899 A CN 106681899A
Authority
CN
China
Prior art keywords
jmeter
script
playback
arixtra
incoming event
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
Application number
CN201510753145.3A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201510753145.3A priority Critical patent/CN106681899A/zh
Publication of CN106681899A publication Critical patent/CN106681899A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于Jmeter的安卓UI自动化测试方法及系统,该安卓UI自动化测试方法包括:步骤A,录制在移动设备App中对控件的操作过程,生成相应的输入事件;步骤B,基于所述输入事件,获得解析结果;步骤C,基于所述解析结果,生成回放脚本;步骤D,基于所述回放脚本,生成Jmeter脚本。本发明提供的自动化测试方法和系统,通过利用Jmeter的特性,以使安卓UI自动化测试与其他移动App测试实现优质衔接。

Description

基于Jmeter的安卓UI自动化测试方法及系统
技术领域
本发明涉及一种软件测试领域,具体涉及一种基于Jmeter的安卓UI自动化测试方法及系统。
背景技术
自动化测试是指通过自动化测试工具或其他手段,按照测试人员的测试计划进行自动测试,目的是减轻手工测试的工作量,从而提高软件质量。相对于手工测试而言,自动化测试的主要进步在于自动化测试工具的引入。
事实上,当前已经存在不少成熟的安卓UI自动化测试方案,例如Instrumentation和UI Automator等,然而现有技术中的安卓UI自动化测试方法仅对UI元素进行操作和断言,缺少将安卓UI自动化与其他测试衔接的方法。
发明内容
本发明的目的在于提供一种基于Jmeter的安卓UI自动化测试方法及系统,使用户终端支持生成Jmeter脚本,使安卓UI自动化测试与其他移动App测试实现优质衔接。
本发明的技术方案在于提供一种基于Jmeter的安卓UI自动化测试方法,该测试方法包括:步骤A,录制在移动设备App中对控件的操作过程,生成相应的输入事件;步骤B,基于该输入事件,获得解析结果;步骤C,基于该解析结果,生成回放脚本;步骤D,基于该回放脚本,生成Jmeter脚本。
可选的,该步骤A包括:将生成的该输入事件存储至输入设备指令缓存。
可选的,该步骤C还包括,基于该解析结果,验证生成的回放脚本是否正确。
可选的,该步骤D包括:基于该回放脚本,通过Jmeter的OSSampler,生成该Jmeter脚本。
本发明还提供一种基于Jmeter的安卓UI自动化测试系统,该安卓自动化测试系统包括:脚本录制模块,用于录制在移动设备App中对控件的操作过程,生成相应的输入事件;解析模块,用于基于该输入事件,获得解析结果。回放脚本生成模块,用于基于该解析结果,生成回放脚本。终端模块,基于该回放脚本,生成Jmeter脚本。
可选的,该测试系统还包括:输入设备指令缓存,用于将生成的该输入事件存储至该输入设备指令缓存中。
可选的,该终端模块还包括:脚本验证模块,用于验证生成的回放脚本是否正确。
可选的,基于该回放脚本,通过Jmeter的OS Sampler,生成该Jmeter脚本。
本发明提供的自动化测试方法和系统,通过利用Jmeter的特性,以使安卓UI自动化测试与其他移动App测试实现优质衔接。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明的基于Jmeter的安卓UI自动化测试方法流程图;
图2为本发明的基于Jmeter的安卓UI自动化测试系统示意图;
图3为本发明的基于Jmeter的安卓UI自动化测试系统结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
图1为本发明的基于Jmeter的安卓UI自动化测试方法流程图。如图1所示自动化测试步骤如下:
步骤A,录制在移动设备App中对控件的操作过程,生成相应的输入事件;
步骤B,基于该输入事件,获得解析结果,
步骤C,基于该解析结果,生成回放脚本;
步骤D,基于该回放脚本,生成Jmeter脚本。
可选的,该步骤A包括:将生成的该输入事件存储至输入设备指令缓存205。
可选的,该步骤C还包括,基于该解析结果,验证生成的回放脚本。
可选的,该步骤D具体包括:基于该回放脚本,通过Jmeter的OS Sampler,生成该Jmeter脚本。
下面结合一个具体的实施例对本发明进行具体描述,然而值得注意的是该具体实施例仅是为了更好地描述本发明,并不构成对本发明的不当限定。
测试人员将安卓设备与电脑连接,打开安卓设备上的待测App,启动电脑上的用户终端。
通过点击用户终端上的“开始”录制按钮,然后对安卓设备上的待测App进行操作,在操作结束之后,在用户终端上点击“终止”录制按钮,用户终端会记录测试人员在安卓设备上操作App的过程,并生成对应的shell回放脚本。此时便完成了自动化测试中的录制的过程。
在完成录制过程之后,测试人员通过点击用户终端上的回放按钮,用户终端便会执行这个shell回放脚本,而与用户终端连接的安卓设备上的App将会自动执行测试人员之前的操作过程,该回放过程的目的在于验证生成的脚本是否正确。
然后,测试人员点击用户终端上的生成Jmeter脚本按钮,用户终通过获取shell脚本的存储路径生成匹配jmeter的OS Sampler标准格式的XML文本,然后将shell脚本存储路径置入其中,以此通过shell脚本将XML文本转换为一个后缀为“.jmx”的文件,该文件中包含生成的OS Sampler的内容。然后,测试人员用Jmeter工具运行这个“.jmx”文件,以此可以通过安卓设备自动执行上述测试人员操作App的过程。
测试人员可以在用Jmeter工具打开“.jmx”文件后在安卓UI自动化测试的前后追加其他的测试场景,例如在重复操作前先往数据库里加入准备数据,或者在操作后查询数据库看是否数据正确插入等。
图2为本发明的基于Jmeter的安卓UI自动化测试系统结构图。如图2所示,自动化测试系统包括:
脚本录制模块201,用于录制在移动设备App中对控件的操作过程,生成相应的输入事件;
解析模块202,用于基于该输入事件,获得解析结果。
回放脚本生成模块203,用于基于该解析结果,生成回放脚本。
终端模块204,基于该回放脚本,生成Jmeter脚本。
可选的,该测试系统还包括:输入设备指令缓存205,用于将生成的该输入事件存储至该输入设备指令缓存205中。
可选的,该终端模块204还包括:脚本验证模块206,用于验证生成的回放脚本。
可选的,基于该回放脚本,通过Jmeter的OS Sampler,生成该Jmeter脚本。
下面结合图3对本发明进行具体描述,然而值得注意的是该具体实施例仅是为了更好地描述本发明,并不构成对本发明的不当限定。
本发明提供的基于Jmeter的安卓UI自动化测试系统包括:终端模块204,用于回放安卓手机上App中的UI界面进行各种操作,并支持生成Jmeter脚本;具体的,用户可以通过UI界面来触发录制,终止录制,生成Jmeter脚本,回放等功能。
开始录制时,测试人员通过点击用户终端上的“开始”录制按钮,终端模块204开始调用脚本录制模块201进行录制,此时脚本录制模块201通过记录用户操作用户终端的各种操作步骤,生成相应的代码。此外,本发明也可以通过adb shell send event驱动UI安卓自动化。具体地,该模块通过使用安卓系统自带的adb命令getevent解析/dev/input/eventX文件来实时读取安卓操作系统的用户输入事件,然后将原始的设备指令缓存到输入设备指令缓存205中,存储用户的输入事件。特别地,由于该输入事件根据不同设备会有不同的结果。例如对于安卓模拟器,event0表示保存屏幕输入事件和键盘输入事件,而在某些安卓设备上,同样的输入事件会用event1表示。
结束录制时,终端模块204通过调用回放脚本生成模块203进行脚本回放,然后生成shell命令行格式的回放脚本。其中,回放脚本生成模块203是根据解析模块202进行单条指令的简单解析并输出结果,根据生成算法生成回放整个操作过程的shell脚本,然后通过脚本验证模块206验证生成的脚本是否正确,而解析模块202是将输入设备指令缓存205将这些原始的设备指令解析为一条条的用户指令,例如"在x,y位置进行点击操作"等等。具体来说,解析模块202用于解析单条设备指令,其主要功能如下:判断当前指令是否是设置X坐标的指令;判断当前指令是否是设置Y坐标的指令;判断当前指令是否是点击抬起指令;判断当前指令是否是点击按下指令;判断当前指令是否是按键按下指令;判断当前指令是否是按键抬起指令;判断当前指令是否是空指令;根据键盘输入设备指令转换为对应ASCII。
最后,终端模块204采用Jmeter的OS Sampler进行驱动,调用回放脚本(shell脚本)生成可供Jmeter驱动的“.jmx”脚本。由于此处实现方式与前述方法相同,故具体过程在此不再赘述。
通过本发明提供的自动化测试方法和系统,测试人员可以在用Jmeter工具打开.jmx后在安卓UI自动化测试的前后追加其他的测试场景,例如在重复操作前先往数据库里加入准备数据,或者在操作后查询数据库。测试脚本录制方式对测试人员来说较友好,测试门槛低。此外,录制脚本对同型号测试机器可以复用。Jmeter脚本对测试人员较为熟悉,测试门槛低。可以将安卓UI自动化测试与其他测试集成起来。例如在UI操作后检查后台数据库。通过利用Jmeter的特性,以使安卓UI自动化测试与其他移动App测试实现优质衔接。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于Jmeter的安卓UI自动化测试方法,其特征在于,所述安卓UI自动化测试方法包括:
步骤A,录制在移动设备App中对控件的操作过程,生成相应的输入事件;
步骤B,基于所述输入事件,获得解析结果;
步骤C,基于所述解析结果,生成回放脚本;
步骤D,基于所述回放脚本,生成Jmeter脚本。
2.根据权利要求1所述的方法,其特征在于,所述步骤A还包括:
将生成的所述输入事件存储至输入设备指令缓存。
3.根据权利要求1所述的方法,其特征在于,所述步骤C还包括,
基于所述解析结果,验证生成的所述回放脚本是否正确。
4.根据权利要求1所述的方法,其特征在于,所述步骤D包括:
基于所述回放脚本,通过Jmeter的OS Sampler,生成所述Jmeter脚本。
5.一种基于Jmeter的安卓UI自动化测试系统,其特征在于,所述安卓UI自动化测试系统包括:
脚本录制模块,用于录制在移动设备App中对控件的操作过程,生成相应的输入事件;
解析模块,用于基于所述输入事件,获得解析结果。
回放脚本生成模块,用于基于所述解析结果,生成回放脚本。
终端模块,基于所述回放脚本,生成Jmeter脚本。
6.根据权利要求5所述的系统,其特征在于,所述系统还包括:
输入设备指令缓存,用于将生成的所述输入事件存储至所述输入设备指令缓存中。
7.根据权利要求5所述的系统,其特征在于,所述终端模块还包括:
脚本验证模块,用于验证生成的所述回放脚本是否正确。
8.根据权利要求5所述的系统,其特征在于,所述终端模块基于所述回放脚本,通过Jmeter的OS Sampler,生成所述Jmeter脚本。
CN201510753145.3A 2015-11-06 2015-11-06 基于Jmeter的安卓UI自动化测试方法及系统 Pending CN106681899A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510753145.3A CN106681899A (zh) 2015-11-06 2015-11-06 基于Jmeter的安卓UI自动化测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510753145.3A CN106681899A (zh) 2015-11-06 2015-11-06 基于Jmeter的安卓UI自动化测试方法及系统

Publications (1)

Publication Number Publication Date
CN106681899A true CN106681899A (zh) 2017-05-17

Family

ID=58862906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510753145.3A Pending CN106681899A (zh) 2015-11-06 2015-11-06 基于Jmeter的安卓UI自动化测试方法及系统

Country Status (1)

Country Link
CN (1) CN106681899A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905417A (zh) * 2021-02-24 2021-06-04 广东南电智控系统有限公司 一种基于Jmeter的业务性能监控设计方法
CN115858400A (zh) * 2023-02-27 2023-03-28 广州市玄武无线科技股份有限公司 一种移动app自动化测试任务编排系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108057A1 (en) * 2003-09-24 2005-05-19 Michal Cohen Medical device management system including a clinical system interface
CN103365779A (zh) * 2013-07-09 2013-10-23 广东欧珀移动通信有限公司 软件测试方法和系统
CN104881364A (zh) * 2015-06-26 2015-09-02 上海斐讯数据通信技术有限公司 应用于安卓系统的自动化测试方法及系统
CN104932974A (zh) * 2015-05-28 2015-09-23 国家计算机网络与信息安全管理中心 一种脚本转换方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108057A1 (en) * 2003-09-24 2005-05-19 Michal Cohen Medical device management system including a clinical system interface
CN103365779A (zh) * 2013-07-09 2013-10-23 广东欧珀移动通信有限公司 软件测试方法和系统
CN104932974A (zh) * 2015-05-28 2015-09-23 国家计算机网络与信息安全管理中心 一种脚本转换方法和装置
CN104881364A (zh) * 2015-06-26 2015-09-02 上海斐讯数据通信技术有限公司 应用于安卓系统的自动化测试方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905417A (zh) * 2021-02-24 2021-06-04 广东南电智控系统有限公司 一种基于Jmeter的业务性能监控设计方法
CN115858400A (zh) * 2023-02-27 2023-03-28 广州市玄武无线科技股份有限公司 一种移动app自动化测试任务编排系统

Similar Documents

Publication Publication Date Title
CN111159049B (zh) 接口自动化测试方法及系统
US10853232B2 (en) Adaptive system for mobile device testing
CN108717393B (zh) 一种应用程序测试方法及移动终端
CN101521899B (zh) 用于移动应用程序的机上测试系统和方法
CN107516510B (zh) 一种智能设备自动化语音测试方法及装置
CN103312850B (zh) 一种手机自动化测试系统及工作方法
CN201392526Y (zh) 用于移动应用程序的机上测试系统
CN103729294B (zh) 应用软件性能脚本测试方法与装置
CN110716853A (zh) 一种测试脚本录制方法、应用程序测试方法和相关装置
CN109871326A (zh) 一种脚本录制的方法和装置
CN113282476B (zh) 接口性能测试方法、装置和电子设备
CN103268289A (zh) 在移动终端上录制应用测试脚本的方法和系统
CN107562637B (zh) 一种用于软件测试的方法、设备、系统及存储介质
CN102981958A (zh) 软件测试方法和测试装置
CN101287266A (zh) 手机测试系统及方法
CN101262681A (zh) 自动测试的移动终端及实现方法
CN107729238A (zh) 一种插件调试方法、系统、装置及计算机可读存储介质
CN114519008A (zh) 一种回归测试用例的推荐方法、装置、介质及设备
CN110610089B (zh) 用户行为模拟方法、装置及计算机设备
KR100892141B1 (ko) 휴대용 장치의 자동 검증 방법 및 그 장치
CN110322587B (zh) 驾驶过程中的评价记录方法、装置、设备及存储介质
CN113204491A (zh) 一种接口自动化测试用例生成方法与系统
CN110737900B (zh) 网页功能测试方法及装置、服务器和计算机可读存储介质
CN106681899A (zh) 基于Jmeter的安卓UI自动化测试方法及系统
KR20120102967A (ko) 애플리케이션 검증 시스템 및 방법

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170517