2023年6月28日发(作者:)
I
2021
/
01
|
运营一线
|
Communication
& Information
Technology基于关键字驱动的APP自动化测试方案的研究与实现袁莺,李成奇,付文豪(中国移动通信集团广东有限公司东莞分公司,广东东莞523000)摘要:随着移动互联网的高速发展,移动APP版本迭代更新越来越快,开发人员需在较短的时间内迭代完成多个版本,
相应测试工作的强度和时效性也随之提高。软件版本测试因工作量大、低效重复内容多,巳逐渐成为软件产品快速发布的瓶
颈。为保证测试的质量,提升测试效率,助力APP快速迭代发布,实现测试工作降本增效,对目前的自动化测试技术进行了研
究,以广东移动电渠APP和商汇为例,提出基于关键字驱动的自动化测试方案,并通过RIDE技术实现。关键词:自动化测试;关键字驱动;RIDE技术中图分类号:TP391.4
文献标识码:A
文章编号:1672-0164
(2021)
01-0022-03自动化测试是一种测试际通过分析软件产品的业
1前言随着移动互联网的快速发展,手机移动应用已成为人
们生活中不可缺少的一部分。为及时满足移动用户的需
务设计流程,用程序语言按照测试规则编写和蹄测试程
序,并在计算机中模拟运行,自动或半自动的ME被测试
软件的响应和行为。按照目前自动化测试技术的发展,目
前应用较多的两种主流的自动化测试框架分别是基于数据
驱动和基于关键字驱动的。求,传统瀑布式的开发模式逐渐被迭代敏捷开发所取代,
成为目前软件开发过程的主流模型。在迭代开发过程中,
开发人员为满足快速发展的业务需求,需要在较短的时间
基于数据驱动的自动化测试框架是为了解决当测试数
据发生变化时,避免将相应测试脚本一起进行修改和更
内迭代开发完成多个版本的软件产品。测试人员则需要在
此时间内对迭代的软件产品进行有效测试。系统的版本测
新,从而提出了将测试数据和脚本分离的方法,即在测试
脚本在执冊程中直翩取保存于外部文件测试数据。基
试是一项工作量大、内容重复多的工作。由于软件产品业
于关键字驱动的自动化测试框架在数据驱动的基础上进行
改进,此方式不仅将测试数据进行分离,而且将测试的处
务功能本身有较强的依赖性和关联性,在相互迭代之后,
使得版本前后关联性更加密切。为保证测试的质量,测试
理逻辑也独立出来。通过将处理测试数据的逻辑统一封装
在关键字中,使得测试策略不在测试脚本中,仅体现在测
工师必须耗费大量时间和精力去重复对上一个的迭代版本
进行回归测试,使得测试工作变得越加繁重,逐渐成为软
试数据上。基于数据驱动的自动化测试方案:开发阶段就开始编
写测试脚本,测试功能有变化时,需要修改相应的测试脚
本。需要对脚本语言非常熟悉。件产品快速发布的一个瓶颈。为有效的解决瓶颈,自动化
测试技《^用到手机移动应用的开发测试领域。基于Robot Framework框架对android平台下广东移动
电渠APP和商汇系统的自动化测试方案进行了研究与实
现。通过利用图形界面的编辑器RIDE,编写测试用例,
基于关键字驱动的自动化测试方案:测试工作师可以
不用测试脚本语言,而是直接调用由专业人员提前用专业
语言写好的业务通用脚本块。模拟用户的实际操作,完成测试任务。因控制成本等原因,移动公司大部分软件测试执行工
2现状分析2.1自动化测试概述作均为外包,无法要求外包人员对脚本足够熟悉,故本方
案选择了对测试执行工作技术要求不髙的基于关键字驱动
的自动化测试方案。222.2自动化测试框架介绍Robot Framework是一款开源的、通用的验收测试和
验收测试驱动开发的自动化测试框架,以简单表格测试数
据语法形式来使用关键字驱动的测试方法。其测试功能可
以通过python和java的测试库进行扩展雪并且使用者可以
Contain
Element
(界面包含某些元素)、等待函数Wait
Until
Page
Contains
(界面中包含某些文字后进行下_步)
等。而用户自定义关键字是结合库关键字来创建的更高级
的关键字,可以把一些复杂通用的业务流程,直接定义为
用户关键字叫通常命名可设置描述业务流程的词。相关
使用与创建测试用例类似的语法来创建更高级的关键字。
的具体用法可参考ROBOT
FRAMEWORK官网。该框架的主玮点:•良好的扩展性,测试库可以通过python、java实现;•提供较广的关键字库,支持的测试种类多,如
web测试、移动端(android/ios)、数据库等测试;•有内置的全局日志管理器,自动生成测试报告。3基于Robot
F
ramework的自动化测试
的实现以RobotFratnewori咱动化测试开发框架为基础,通
过导入第三方库selenium、APPium的关键字,并用ride编
辑器来实现按照具体的业务逻辑来编写测试用例脚本。
图
1 Robot
FrameworkiE
架3.2
Android界面元素的定位方法元素定位是自动化测试的第一步,只有定位到正确的
元素,才能进行后续的模拟操作。本文是使用的
在APP、web端的交互方面,贝闲用APPnium自动化测试
工具。3.1
Robot
Framework关键字说明androidSDK自带的元素查看工具一uiautomatorviewer,通
过工具来查看APPview上面的元素的属性,辅助我们编写
Robot
Framework的测试用例编写是通过使用关键字
和参数来编写叫关键字主要包含库关键字和用户自定义
元素定位相关代码。具体的定位方法包括采用xpath、id
的关键字。库关键字是开发者写好的,通过导入库即可使
用,常见的包括selenium、APPium等,分别用于web和
(resource-id)、class等旳。如图2所示。定位下图中“本店商品"的元素为:APP的自动化测试。如APPium常用关库关键字包括一些实
用函数的Click
Butto
(点击按钮)、校验函数Page
Should
破
ath=/
/ RecyderView/andtoid.
widgetLinearLayout111图
2
uiautomatorviewer工具使用通信与信息技术2021年第1期(总第24晦)|
232021
/
01
运营一线
Communication
&
Information
Technology***
Settings
***4移动渠道APP的实现下面描述移动渠道APP的登录实现过程。Library
APPiumLibraTy*++
Variables
+**it
(desired
capahilities
phone 1
platformName=Andro
id
platfaLrinVersion=5_
0.
2基于ROBOT
FRAMEWORK编写完用例后,
通过使用开源工具APPium,在测试时,在被测移
动终端上启动一个server
,监听和解析来自客户端
的请求指令。简单来说,APPium是请求端和设备
devi
ceNajiie=e427e439APPPacka^e=com_ asiainfo.
A?PAPPActivity=coin.
asiainto.
APP.
mvp.
module.
lagiZL
LoginActivity
耳APP的属性粋*
Test
Cases
静宰open
APP
#打开
APPQpen
APPlictttiCjn
http://127.
0.
0.
1;
4723/wd/hub
端的交互的统一接口问。此工具主要是传递消息。移动的电渠APP的登录上述界面,用ROBOT
&
{des
i
rcd_capalji
11tii?s_phane}斗打开应用Tnptii
Tmxt
id-com.
asiainfo.
APP:
id/jO
S19+***004
#输入丁号FRAMEWORK的编写的登录渠道APP的代码实现
Click Element
id^com.
asiainfo.
APP:id/j2
甘获取验证码3曙待3秒Input
Text
id-cam.
asiainfo.
APP:id/jl
111111
#输入验证码ClTdk
R1
emeri
t
i
d=L;om.
as
i
a
i
rifcj-
APP:
i
<1/1
q
#点击登录过程如图3。引入自动化测试相关技术,可以实现将关键
的重复测试用例让程序自动验证,有效的避免重
复劳动。目前APP、web的业务主要是涵盖了业务
1
og
登录成功图3
ROBOT
FRAMEWORK编写的登录渠道APP的代码实现过程Genereied15
5S.16
GMT
★购
OT11
iararKlz办理、查询等功能,测试的方式都是人工去点击
Apptest
Test
ReportSummary
Information汕理Start
Tim#:End
Time:Elapsed
Time:
L%
File:AH
p尺第&20190329
15:67:49
2&7
2GT90329
947UO
00:27
OSOlog砒袖20
办理和查询,ROBOT
FRAMEWORK的架构的第
三方库selenium、APPium都已有关键字去模拟类似
测试操作。目前通过搭建自动化测试环境,已实
现和商汇APP的一些关键测试的操作,自动化程序
运行后会生成测试结果报告,测试人员只需关注
Test
statisticsTbial S[adstic&Crificnt
Fests5fntistic«
by
Tag二
Total
:1i
Pass
1
I
PftM
=
Fall
谱0ijFaO iElapsedPass
*
F^it通过结果即可。在自动化测试完成后,ROBOT
FRAMEWORK可以自动生成测试结果报告和测试
AppicslTotal
=:
Elap»ad
=Elap^eci00 W28
Statistics
by
SuiteT
sPoss
FU
1
0Pass
/
Fail*日志,如图4所示。通过使用ROBOT
FRAMEWORK®架,完成
Test
DetailsSuiiH5
SearchRM:
Crfdcal
TosuAil
Teels了移动渠道APP的套餐办理、套餐查询等关键用例
的自动化测试。传统拨测10分钟例行测试任务,通过自动化拨测28秒即可完成,测试效率大幅提升,且过
图4测试报告[2]
黎守秀.基于Robot_Framework的自动化测试
程无需人工干预,节省人力。研究及应用[D].四川成都:西南交通大学,2011.[3]
冯玉才,唐艳.关键字驱动自动化测试的原理
5结束语本成果的主要效益包括:一是减少人工的重复劳动工
作,重复的测试工作内容不必人工每次去测试,只需通过
和实现[J].计算机应用,2004,24
(8):
140-142.[4]
祝阳阳,侯永宏.Android自动化测试工具
Robotium的应用与研究[J].信息技术,2015(10):
198-
200,205.自动化程序即可。二是是提高工作效率,缩短测试时间。
[5]
谢红霞,吴红梅.基于Android的自动化测试的
测试场景的脚本一旦完成,可以并行进行业务测试,等程
序完成后,关注测试结果即可,可以重点排查测试不通过
设计与实现[J]
•计算机时代,2012
(2):
20-22.的用例。三是由于重复工作被程序执行,在目前的人力基
作者简介础上减少80%以上的测试人力。Q袁莺(1983—),男,髙级工程师,硕士研究
生,主要研究方向为客户运营及数据分析。李成奇(1982—),男,高级工程师,硕士研究
参考文献[1]侯菊敏.基于Android的关键字驱动自动化测
生,主要研究方向为业务支撑和经营分析。付文豪(1987—),男,中级工程师,硕士研究
生,主要研究方向为客户运营及数据分析。试框架研究[D].广东广州:中山大学,2012.24
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687932752a58462.html
评论列表(0条)