基于关键字驱动的APP自动化测试方案的研究与实现

基于关键字驱动的APP自动化测试方案的研究与实现

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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信