Appium自动化测试(08):教你使用Appium录制脚本

这一节我们来讲解如何使用Appium-Desktop录制自动化测试脚本。
使用到的工具主要是Appium中的Inspector探测工具。其使用方式如下:

1.3.3.Inspector探测工具

按照上一节所讲的方式启动Appium之后,我们会发现弹出了另一个界面,我们叫它探测工具(Inspector),页面如下:
Appium自动化测试(08):教你使用Appium录制脚本_第1张图片
最左侧是屏幕的即时监控。可能同步的比较慢,我们可以点击上方的刷新按钮来进行刷新,以让它和模拟器的画面保持同步。
在这里插入图片描述

1.3.3.1.源

中间的“源”页面分为两个部分,一个是App Source,另一个是“选定的元素”。
“App Source”所展示的就是左侧页面对应的DOM结构(类似Web端的F12)。
“选定的元素”模块展示的是被选择的元素的具体信息。选择元素的操作如下:

1.3.3.2.选择元素

举个例子:我们点击页面上方的选择按钮
在这里插入图片描述
然后在监控页面中随便点击一个自己喜欢的位置:
Appium自动化测试(08):教你使用Appium录制脚本_第2张图片
可以看到右侧的“App Source”和“选定的元素”内容发生了变化。
这个自己点点看看就好。功能基本就和Web端F12审查元素的操作一样。

1.3.3.3.滑动坐标

我们可以使用这个按钮来进行页面滑动操作:
在这里插入图片描述
举个栗子:点击上方的滑动坐标按钮,可见左侧弹出“点击滑动起始点”
Appium自动化测试(08):教你使用Appium录制脚本_第3张图片
我们点击图中的某个位置作为滑动起点,点完会自动打上一个粉粉的圆圈。:
Appium自动化测试(08):教你使用Appium录制脚本_第4张图片
然后上方的文字就变成了“点击滑动终止点”,我们再取一个滑动终点:
Appium自动化测试(08):教你使用Appium录制脚本_第5张图片
点击完成之后,它会自动连成一条线,然后执行滑动操作,我这里滑动完就切换到了另一个页面,大家可以自行尝试:
Appium自动化测试(08):教你使用Appium录制脚本_第6张图片
再次点击这个按钮,就可以取消滑动。
在这里插入图片描述
我们先把这些展示页面滑掉,进入软件的业务展示页面。
Appium自动化测试(08):教你使用Appium录制脚本_第7张图片

1.3.3.4.点击坐标点

第三个按钮叫做“点击坐标点”:
在这里插入图片描述
我们选择它之后,就可以在监控页面中进行点击操作,还可以看到鼠标当前的位置坐标。比如我们点一下页面上的“五险一金”,点击后便可打开对应的功能:
Appium自动化测试(08):教你使用Appium录制脚本_第8张图片 Appium自动化测试(08):教你使用Appium录制脚本_第9张图片
Ps:手机的左上角坐标是(0, 0),向右x轴递增,向下y轴递增。

1.3.3.5.返回、刷新

后面这俩就是返回和刷新的功能,但是没啥好讲的,大家自己点点看就行。
在这里插入图片描述

1.3.3.6.脚本录制(重点)

就是这个小眼睛,这个可就厉害了,它就是Appium内置的脚本录制工具。
我们可以使用它来录制我们在页面上的操作,然后让工具自动重复执行。
在这里插入图片描述
本节我们使用微博App来进行演示,请大家自行在模拟器中安装新浪微博App,并仿照上面的操作完成Appium中的期望能力配置。
请自己操作一下,也作为对前面学习的知识点的检验。

然后让我们开始搞事情(打开新浪微博,并使用账号密码进行登录):

一、启动会话并开始录制

Appium自动化测试(08):教你使用Appium录制脚本_第10张图片
在Appium中完成期望能力配置后,点击启动会话,会进入如下界面:
Appium自动化测试(08):教你使用Appium录制脚本_第11张图片
进来之后我们点一下小眼睛,开启录制功能,会发现下方多了一个“录制”窗口:
Appium自动化测试(08):教你使用Appium录制脚本_第12张图片
然后我们开始录制脚本。

二、点击“用账号密码登录”

首先我们选中“选择元素”工具,并选中页面上的“用账号密码登录”:
Appium自动化测试(08):教你使用Appium录制脚本_第13张图片
然后点击右侧“选定的元素窗口中的“点击”按钮,进入账号密码登录页面。

三、输入账号

继续使用“选择元素”工具,选中账号输入框,然后点击右侧的“发送秘钥”:
Appium自动化测试(08):教你使用Appium录制脚本_第14张图片
在弹出的窗口中输入账号,并点击“发送秘钥”
(鉴于笔者用的是本人微博号,就打个马赛克了):
Appium自动化测试(08):教你使用Appium录制脚本_第15张图片

四、输入密码

同样使用“选择元素”工具,选择密码输入框,然后点击右侧的“发送秘钥”:
Appium自动化测试(08):教你使用Appium录制脚本_第16张图片
同样的方式,在弹出的窗口中输入密码,并点击“发送秘钥”。

Appium自动化测试(08):教你使用Appium录制脚本_第17张图片

五、最后一步了哈,点击登录

使用“元素选择”工具,选中登录按钮,然后单击右侧的“点击”按钮。
Appium自动化测试(08):教你使用Appium录制脚本_第18张图片
完成登录:
Appium自动化测试(08):教你使用Appium录制脚本_第19张图片

Ps:有人可能会有疑问,我们用的这个“发送秘钥”为什么好像是“发送文本”的意思,和我理解的“秘钥”的概念有点偏差。

答:其实你理解的是没错的,是Appium这款工具汉化翻译的不太准确,如果我们把工具切换成英文,会发现这个按钮的名字其实是“Send Keys”,也就是发送关键字的意思。大家只要记住这个工具是用来发送关键字的,就可以了。

1.3.3.7.脚本录制总结

Appium脚本录制就是使用“选择元素+点击/发送秘钥等操作”、“点击坐标点”、“返回”、“滑动”等工具来模拟我们在手机上的各类操作,并且将每一步操作都固化为代码,以便我们将代码取出来进行复用,当我们重复执行这些代码时,就相当于再次执行了录制时所进行的操作。能够熟练完成本节的全部操作的话,Appium常用的几大工具就已经基本掌握了。

接下来我们讲如何将脚本代码取出,以及如何在编译器中执行。

1.3.3.8.取出脚本

如果您留心的话,可以看到在录制脚本过程中,进行每一步操作时,“录制”窗口都会生成一些代码,这些就是我们的脚本了:
Appium自动化测试(08):教你使用Appium录制脚本_第20张图片
但是目前Appium界面上只显示了与我们的操作相关的部分代码,至于App启动,驱动释放等细节并没有包含在这部分代码里。

想要展示全部的代码,我们可以点击右侧的“显示/隐藏样版代码”:
Appium自动化测试(08):教你使用Appium录制脚本_第21张图片
点击后便可以查看完整的脚本,这就是可以拿出来单独执行的Java代码了:
Appium自动化测试(08):教你使用Appium录制脚本_第22张图片
本教程默认使用的是Java语言,如果你想要其他语言的脚本,可以点击图示按钮进行选择:
Appium自动化测试(08):教你使用Appium录制脚本_第23张图片
但这样子看代码其实依旧不方便,毕竟依旧是在工具里面展示的,一旦我们关了Appium就看不到代码了。所以我们可以点击右侧的复制按钮,将代码复制到剪切板,然后将其粘贴到.txt文件里,例如Sina.txt:
Appium自动化测试(08):教你使用Appium录制脚本_第24张图片
Appium自动化测试(08):教你使用Appium录制脚本_第25张图片
然后我们将Sina.txt的文件后缀改为.java,也即Sina.java:
在这里插入图片描述
这样我们就拥有了一份java语言编写好的脚本,其功能便是打开微博,输入账号密码进行登录。

1.3.3.9.脚本分析

我们一起来看一下刚刚录制好的这一段脚本:
Appium自动化测试(08):教你使用Appium录制脚本_第26张图片
这份代码读起来应该没有什么难度,大家可以自行阅读理解。辅助理解如下:
1-9行:声明导入的依赖包,其中的JUnit和我们比较熟悉的TestNG类似,也是一个单元测试框架,可以将TestNG理解为JUnit的升级版。
13行:声明Android驱动。
17行:DesiredCapabilities desiredCapabilities = new DesiredCapabilities();实例化了一个DesiredCapabilities的类。
18-21行:这四个配置熟不熟悉,就是我们在Appium中设置的期望能力配置。
23行URL:这个地址就是Appium的默认通讯地址,我们通过这个地址就可以与Appium通讯连接。
25行:通过实例化driver,就可以启动我们的App。
30-37行:这就不多说了,就是我们刚刚录制到的脚本。
42行:驱动的销毁。

上一篇:Appium自动化测试(07):保存配置并启动会话
下一篇:Appium自动化测试(09):APP自动化原理总结


软件测试工程师一只,也在不断的学习阶段,平时的小经验不定期分享。
博主经验有限,若有不足,欢迎交流,共同改进~
愿与同在CSDN的你共同进步。
有意可加Q群 908417285 交流学习。

你可能感兴趣的