目录
1.前言
2.准备工作
3.脚本录入
4.UI自动化测试
5.稳定性测试
6.性能测试
7.总结
<h1 id="1">前言</h1>
云测试平台是一个移动端App测试一站式测试服务平台,目前Android端支持UI自动化测试,Monkey测试,性能测试,iOS端支持UI自动化测试和Monkey测试。后续我们还会接入更多的功能。下面我们主要介绍目前所支持的服务的使用方法。
<h1 id="2">准备工作</h1>
登录
目前云测试平台的登录体系已经与平安的UM账号体系打通,只要输入你的UM账号和密码即可登录。如果登录过程中提示密码错误,有可能是你的账号尚未激活,或者密码输错了。激活账号可以找姚雪芹咨询(YAOXUEQIN844@pingan.com.cn),重置密码请登录平安内部门户网站-UM用户管理栏目(内网地址:pws.paic.com.cn)。另外,首次登录需要找云测试平台管理员审核,账号审核请找彭海波(penghaibo204@pingan.com.cn)。
添加产品
如果是首次使用我们的平台,先到产品列表页面查看是否有待测试的产品。如果没有你想要测试的产品,则点击添加产品按钮添加新的产品。
上传App
添加完成产品后,需要上传你要测试的App安装包。点击对应产品列表后的应用上传按钮,即可弹出上传对话框,选择本地的安装包,点击上传即可上传安装包到服务器上。
安装Appium客户端
首先下载一个Appium客户端最新版,这里给出mac版的下载地址,Windows版本请自行百度。Appium客户端又依赖于Android SDK和Xcode,因此还需要配置Android和iOS开发环境。具体安装方法网上很多,这里不作讲解,请自行百度。安装完各种环境之后打开Appium客户端,配置安装包路径和设备ID(可以为空)。
脚本录制
脚本的录制是整个平台的关键部分,UI自动化,稳定性测试和性能测试都依赖于录制的脚本去驱动。本节我将为大家介绍如何通过平台来添加你的测试脚本。在添加完产品后,我们要录入该产品对应的脚本才能开始自动化测试。从管理中心->我的测试脚本,进入产品管理页面,点击添加产品按钮,即可进入脚本录入页面。
脚本信息填写
首先填写脚本相关信息,如下图所示。产品为必选字段,选择你所要测试的脚本。版本类型表示要测试的系统类型:Android,iOS和H5,脚本名称和描述用于对脚本进行描述,可选填。脚本标签用来做筛选,可选填。
测试步骤录入
脚本的录入最核心的功能在于测试步骤的录入。测试步骤对应了我们的测试的执行过程。比如登录功能,我们第一步是点击登录按钮,第二步,输入用户名,第三步,输入密码,第四步,点击登录。我们把这样的四个步骤对应录入到平台上后,即可通过平台来自动化执行该脚本。那么录入过程中需要做哪些操作呢?
第一步:用Appium Inspect工具分析出界面元素
手机连接上电脑,打开Appium客户端,配置相关参数后,点击Launch按钮,如果连接成功,即可看到相应的200返回码。
接下来点击Inspect按钮(一个放大镜的图标)。Appium会自动安装App到手机,并启动分析窗口。
第二步:查找关键元素
如上图所示,我们通过Appium的Inspect工具分析出了页面上的所有元素,点击右边截图的元素位置,左边即可显示出该元素的对应信息。我们用的比较多的有resource-id,text,xpath这三个属性。使用优先级是id>text>xpath。使用text作为标志的时候要注意唯一性。
第三步:录入测试步骤
根据上面的步骤找到关键元素后,即可进行开始录入测试步骤,一个完整的测试步骤由控件类型,查找方式,控件标志和动作类型,参数等属性构成,如下图所示。其中控件标志就是我们通过第二步找到的元素唯一标志,根据查找方式对应不同的取值。比如查找方式为id,标志就是控件的resource-id。动作类型就是我们要对该控件进行的操作。常用的动作类型有点击,输入,滑动等操作。其中有些动作是需要输入参数的。比如Wait动作表示添加一个等待事件,参数表示等待的时间。iSExist动作表示判断元素是否存在,参数1代表存在,0代表不存在。swipeUp(/Down/Left/Right)表示滑动事件,要接收三个参数,分别以逗号隔开:起始位置,步长,持续时间,例如:2,20,2000。
导入测试步骤
测试步骤的录入还可以通过导入或者插入的方式复用之前录入的脚本,插入的脚本会自动附加到当前脚本的最后。而导入的脚步则是通过引用的方式嵌入在测试步骤里面。这两个功能,方便做脚本的引用和复制,避免重复工作。另外,你可以通过上下移动按钮调整位置。
第四步:测试你的脚本
脚本录入成功后,点击保存即可保存到平台,用于执行测试任务。但是写完之后脚本是否能正确执行呢,我们还是要测试一下才放心。于是在脚本管理页面的每条脚本后面都增加了一个测试一下的按钮。
点击测试一下按钮后,会出现选择设备和App的界面,选择用于测试的设备和app后,我们的脚本即会在平台上指定的机器上运行你的脚本。运行结果通过结果查看页面实时刷新,如下图所示。你可以通过执行结果和截图分析出执行到什么阶段,测试结果是否正常。
执行完毕后会出现前往查看结果报告的按钮,点击即可进入测试报告页面。在测试报告页面,fail的脚本有详细的错误日志,方便你定位错误的原因。
脚本说明
1 控件类型说明
名称 | 说明 |
---|---|
Native | 表示要查找的元素属于Native控件 |
Web | 表示要查找的元素属于Web控件 |
2 动作类型说明
名称 | 说明 | 是否针对元素 |
---|---|---|
Click | 点击事件,表示对该控件进行点击操作 | 是 |
SetText | 设置文本,往文本框中输入内容,参数表示要输入的文本 | 是 |
ScrollToText | 滑动到某个文本,根据设置的文本参数来滚动查找某个控件,直到找到为止,一般用于列表 | 否 |
iSExist | 判断某个元素是否存在,参数1表示存在,0表示不存在 | 是 |
Wait | 等待事件,参数表示等待的时间,单位毫秒,如1000表示等待1s再进行下一步操作 | 否 |
ExistGoto | 如果元素存在,则跳转到指定步骤执行,参数设置为要跳转到的步骤编号 | 是 |
NotExistGoto | 如果元素不存在,则跳转到指定步骤执行,参数设置为要跳转到的步骤编号 | 是 |
pressKey | 按键事件,表示点击设备的按键,4表示返回键,3表示home键 | 否 |
swipeLeft | 向左滑动,参数:(开始位置,步长,持续时间),如:2,2,2000 ; | 是 |
swipeRight | 向右滑动,参数设置方法同上 | 是 |
swipeUp | 向上滑动,参数设置方法同上 | 是 |
swipeDown | 向下滑动,参数设置方法同上 | 是 |
excuteJS | Web控件专用,用于执行js代码来定义web事件 | 否 |
startPerformance | 开始记录性能数据,用于性能测试场景 | 否 |
stopPerformance | 结束记录性能数据 | 否 |
GetVerifyCode | 获取验证码,并输入,控件元素为输入验证码的文本框,参数为接收验证码的手机号 | 是 |
actionGesture | 手势密码,需要多个步骤配合使用,顺序添加每个点的控件标志,参数为一共有多少个点,必填 | 是 |
importScript | 引用脚本,通过引用的方式将公共脚本嵌入步骤里面,参数为脚本ID | 否 |
3 查找方式说明
名称 | 说明 |
---|---|
id | 表示通过控件ID来查找元素,该方式最快最精准 |
name | 表示通过控件的text或者description属性来查找元素,要注意唯一性 |
xpath | 表示通过xpath来查找控件,该方式查找耗时长,不建议使用 |
className | 通过控件类型查找,控件类型可能会重复,所以注意设置索引 |
linkText | Web控件专用,表示超链接的文本 |
cssSelector | Web控件专用,表示通过css样式属性查找控件 |
小结
准备阶段的工作比较繁琐,主要是环境的配置和脚本的录入。刚开始可能会比较麻烦,也会遇到一些坑,但熟悉起来后,就会很快了。接下来我们就是开始发起各种测试任务了。由于Android和iOS的任务模式基本相同,这里只介绍Android端任务的创建方法。
<h1 id="3">UI自动化测试</h1>
UI自动化测试分为四个步骤:
第一步:选择待测应用,选择你的产品,然后选择该产品下的App,如果没有产品和App,请到产品管理页面添加。
第二步:选择脚本,可以选择一个或多个脚本,也可以在Search框中输入关键字筛选脚本。如果没有脚本,请到脚本管理页面录入脚本。
第三步:选择设备,选择要执行的设备,一次只能选择一个设备。每个设备会显示前面有多少个任务正在排队,尽量选择排队少的设备执行任务。
第四步:保存并执行,提交测试之前,先确认下任务信息是否符合自己的需求。特别是邮箱信息,你也可以在后面增加收件人,用逗号隔开。
<h1 id="4">稳定性测试</h1>
稳定性测试即Monkey测试,新建一个稳定性测试任务也是分为四个步骤:
第一步:选择待测应用
第二步:设置参数和脚本,这里要设置执行monkey的时间,以及用来初始化的脚本,脚本可以为空。如果选择了脚本,那么会先执行脚本,然后再开始执行Monkey测试。一般将登陆脚本作为初始化脚本。
第三步:选择设备
第四步:确认并提交测试
<h1 id="5">性能测试</h1>
目前平台通过结合UI自动化,提供精准化的性能测试报告。这里的精准是指的页面响应时间,因为我们可以准确得出每一个操作步骤的响应时间。但是为了便于统计响应时间,在录制你的脚本的时候有几点注意事项:1. 第一步设置一个iSExist事件,原来等待某个控件出现,从而判断App启动成功。2. 如果要测试某个步骤的响应时间,一定要在操作完该步骤后,设置一个iSExist事件。一个典型的脚步,如下图所示。我们可以通过红框标识的步骤来获取应用启动的时间和登录耗费的时间。
测试步骤跟UI自动化任务是一样的,只是新建任务选性能测试即可。性能测试每个任务只能添加一个脚本。执行完后的报告包括响应时间,CPU,内存,流量和FPS的统计信息。
<h1 id="6">总结</h1>
本次先只介绍了准备工作,UI自动化以及Monkey测试的使用方法,具体操作过程中可能还会遇到一些问题,欢迎随时找我咨询。