众所周知,Appium是移动端界面自动化中最常用的开源框架之一,它能够支持 iOS 平台和 Android 平台上app及web应用测试,支持Mac,Windows操作系统,并且支持多种语言,java、python、php、C#、js等,让你不受编程语言的束缚 。下面我将展示Appium框架应用测试的一个具体实例。
![v2-35dda9f24a73eb39e61fce556f232952_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-35dda9f24a73eb39e61fce556f232952_b.jpg)
一、框架环境安装
环境搭建需要具备以下软件,如下表:
![v2-8b89b2c7b3c15ddd9411fdcada4a65f0_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-8b89b2c7b3c15ddd9411fdcada4a65f0_b.jpg)
环境配置略微复杂些,涉及到多个软件的安装及参数配置等,可参考网上Appium搭建文文档,环境搭建不属于本篇文章的重点,不再赘述。
二、测试流程操作
1.安装APK
打开模拟器,安装好自己要测试的app包。
![v2-a18e55abde958eef719bd69c1ce0be11_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-a18e55abde958eef719bd69c1ce0be11_b.jpg)
2.打开Appium-desktop,启动服务,提示the server is running,即为启动成功。
![v2-938f32cbd349a1746d133ce6bc14ad77_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic4.zhimg.com/v2-938f32cbd349a1746d133ce6bc14ad77_b.jpg)
![v2-bc0ffea27a57cb71147e4e7d7f3fccac_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-bc0ffea27a57cb71147e4e7d7f3fccac_b.jpg)
3.服务参数配置
接下来就要进行服务参数配置了,选择本地服务,详细配置参数如下:
·platformName: 平台的名称(iOS, Android, or FirefoxOS)
·platformVersion:移动设备的系统版本号,7.1, 4.4
·deviceName:设备名称
·appPackage:要启动的包名称
·appActivity:要启动的Activity(应用入口)
以上这些服务参数配置均可通过命令在控制台查看到,首次配置后可以进行下保存,以便下次再次使用方便。
![v2-605e26750d2a8a26b4866efe557c629c_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-605e26750d2a8a26b4866efe557c629c_b.jpg)
4.脚本录制操作
点击start session后,就进入到脚本录制和元素定位的页面了,如下图。在这个页面我们可以根据测试需要进行元素的点击,输入文本等操作,形成一个测试脚本(可以指定语言)。
![v2-4ee241757105729a32db474bbbb65aad_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-4ee241757105729a32db474bbbb65aad_b.jpg)
在模拟器操作后,点击appium-desktop界面的刷新按钮,可以将界面同步到操作屏上点击录制按钮,在操作截屏上点击抓取元素,中间App Source显示界面xml代码,右边是元素的具体信息,Recorder上展示录制代码。左边操作截屏上点击元素不会真正的点击,只是选中的元素,右边会展示元素的定位,点击右边的tap才会真实点击,点击sendkeys表示输入文本。
我在此进行了输入框的点击,输入,点击“搜索”按钮操作,且将操作的脚本都录制了下来,选用的是Java语言。
5.脚本编写
打开IDEA,新建一个maven工程,然后将上一步骤录制的脚本copy到脚本的“sampleTest”部分,复制过来录制的脚本代码有时候可能需要再修改下。上面的setUp类是app的启动参数配置,这部分直接修改下就可以。另外,在pom文件中别忘了引入相关依赖。
![v2-b11422e6bf9bd74f6e81be864ccc8146_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-b11422e6bf9bd74f6e81be864ccc8146_b.jpg)
![v2-2c1c1d27df403a998c881ea96a32c954_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-2c1c1d27df403a998c881ea96a32c954_b.jpg)
6.脚本执行
执行脚本,可看到模拟器上会执行刚才录制的操作回放,最后执行通过后,脚本会展示passed,同时模拟器回放完毕。
![v2-9491d54787dd44e96cb608013316840a_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=e6c59dd2-1730-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-9491d54787dd44e96cb608013316840a_b.jpg)
三、测试总结
通过Appium自动化测试的实例运行,我们也会对Appium测试框架有个更深刻的了解,其实基础的案例运行并不难,可能难点还是在后续你的案例设计上。我在实际操作中也有了很多弯路,包括环境搭建时个软件版本之间不兼容、脚本执行时初始化界面和运行不一致等等,但最终这些都是可以解决的。希望大家都能够亲自操作下,从框架搭建到脚本执行,一定会有很多的收获。
志同道合的人,我们组建了一个小圈子,大家可以一起交流软件测试技术,我们也会不定期的进行知乎直播,分享测试、面试技巧,可以私信知乎后台了解,助你快速进阶Python自动化测试/测试开发,走向高薪之路。