CN106681899A - 基于Jmeter的安卓UI自动化测试方法及系统 - Google Patents
基于Jmeter的安卓UI自动化测试方法及系统 Download PDFInfo
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 54
- 238000013515 script Methods 0.000 claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 13
- 229940104697 arixtra Drugs 0.000 claims description 26
- KANJSNBRCNMZMV-ABRZTLGGSA-N fondaparinux Chemical compound O[C@@H]1[C@@H](NS(O)(=O)=O)[C@@H](OC)O[C@H](COS(O)(=O)=O)[C@H]1O[C@H]1[C@H](OS(O)(=O)=O)[C@@H](O)[C@H](O[C@@H]2[C@@H]([C@@H](OS(O)(=O)=O)[C@H](O[C@H]3[C@@H]([C@@H](O)[C@H](O[C@@H]4[C@@H]([C@@H](O)[C@H](O)[C@@H](COS(O)(=O)=O)O4)NS(O)(=O)=O)[C@H](O3)C(O)=O)O)[C@@H](COS(O)(=O)=O)O2)NS(O)(=O)=O)[C@H](C(O)=O)O1 KANJSNBRCNMZMV-ABRZTLGGSA-N 0.000 claims description 26
- 230000004913 activation Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 101100042793 Gallus gallus SMC2 gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000032696 parturition Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于Jmeter的安卓UI自动化测试方法及系统,该安卓UI自动化测试方法包括:步骤A,录制在移动设备App中对控件的操作过程,生成相应的输入事件;步骤B,基于所述输入事件,获得解析结果;步骤C,基于所述解析结果,生成回放脚本;步骤D,基于所述回放脚本,生成Jmeter脚本。本发明提供的自动化测试方法和系统,通过利用Jmeter的特性,以使安卓UI自动化测试与其他移动App测试实现优质衔接。
Description
技术领域
本发明涉及一种软件测试领域,具体涉及一种基于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脚本。
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)
| 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)
| 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 | 国家计算机网络与信息安全管理中心 | 一种脚本转换方法和装置 |
-
2015
- 2015-11-06 CN CN201510753145.3A patent/CN106681899A/zh active Pending
Patent Citations (4)
| 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)
| 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 |