Appium入门
前言
做了多年的工程性测试后,发现薪资待遇很难再跨上一个新的台阶,对于打工族来说,薪资待遇是我们择业最重要的参考依据,其他的都是虚话。同时随着时间的流逝,年龄也逐渐变大,危机感越来越强,而且感觉只会功能性测试没有什么成就感。基于以上原因我们应该掌握更多的技术,来提高自己的竞争力和生存空间。当然功能性测试如果想达到一定的高度其实也是有难度的。任何工具和技术都无法取代之。在这里我们不讨论这个。学习一门新技术需要经历很多曲折,很多人都可以入门,但因为困难很多,所以没有坚持下去,就这样放弃了。在这里我想对大家说,包括我自己:凡事都需要坚持再坚持!只要坚持下去,总会有收获的。在这里我把我学习过程跟大家一起分享和交流,希望大家一起成长,一起进步。
appium介绍
官方微网站:http://appium.io
1.特点
appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。
“移动原生应用”是指那些用iOS或者 Android SDK 写的应用(Application简称app)。
“移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。
“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。
重要的是,appium是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性。
2、appium与Selenium
appium类库封装了标准Selenium客户端类库,为用户提供所有常见的JSON格式selenium命令以及额外的移动设备控制相关的命令,如多点触控手势和屏幕朝向。
appium客户端类库实现了Mobile JSON Wire Protocol(一个标准协议的官方扩展草稿)和W3C WebDriver spec(一个传输不可预知的自动化协议,该协议定义了MultiAction 接口)的元素。
appium服务端定义了官方协议的扩展,为appium 用户提供了方便的接口来执行各种设备动作,例如在测试过程中安装/卸载App。这就是为什么我们需要appium特定的客户端,而不是通用的Selenium 客户端。当然,appium 客户端类库只是增加了一些功能,而实际上这些功能就是简单的扩展了Selenium 客户端,所以他们仍然可以用来运行通用的Selenium会话。
3.支持多平台、多语言
appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行。
appium选择了Client/Server的设计模式。只要client能够发送http请求给server,那么的话client用什么语言来实现都是可以的,这就是appium及Selenium(WebDriver)如何做到支持多语言的原因;
appium扩展了WebDriver的协议,没有自己重新去实现一套。这样的好处是以前的WebDriver API能够直接被继承过来,以前的Selenium(WebDriver)各种语言的binding都可以拿来就用,省去了为每种语言开发一个client的工作量;
4.appium工作原理
在安装和介绍appium之前,非常有必要介绍一下appium是如何工作的。
那它是怎么工作的呢?
网上讲了一大堆,我这里根据我个人的理解简单明了叙述一下(如果问题,欢迎交流更正),运行脚本后,appium-server会监听到,然后它会解析脚本,驱动Android虚拟机或真机来执行相应的操作。最后将执行结果返回。就好比鹊桥中继星的功能一样,负责牵线搭桥,处理两端的事务。
对于刚入门的我们来说,不需要去深入的了解。随着不断学习,后面我们可以加深理解。
环境搭建
工欲善其事必先利其器,我们做一件事情首先要搞清楚需要哪些东西。我这里是用Java来编写脚本的。用Python的朋友请参考Python的环境搭建,网上很多,这里不赘述。
1.安装JDK
Java的运行环境。
1.1.下载
下载地址:https://www.oracle.com/java/technologies/javase-jdk13-downloads.html
官网下载需要注册Oracle账号,当然也可以通过其他途径下载。目前最新版本是13,我自己使用的是8,其实足够了,不需要很新。
1.2 安装和配置环境变量
安装完以后,需要配置环境变量,这里以win10为例:
右击我的电脑----属性----高级系统设置----环境变量----系统变量----新建path
把jdk的bin目录地址填上去,点击确定
测试有没有安装成功
进入命令行,输入Java以及Javac
看到以上信息,代表是成功了
2 安装appium
就是安装appium-server(带界面),用于接收请求解析脚本,驱动设备或者模拟器执行相应操作。然后将结果返回。
2.1 下载及安装
下载地址:http://appium.io/
下载完后直接安装,全部next就行了。
2.2 配置
安装完后打开它。然后开始配置,暂时就按照这个来配置,其他的默认,先用起来再说
注意:配置好了一定要保存,不然下次就没了,保存好了下次可以继续使用,这是保存好的信息。下次启动的时候我们直接点击左下角的start server v1.15.1
3 Android-sdk
软件开发工具包,使用Java语言开发。其实就是类库和工具。比如脚本中需要的一些操作,一些组件。再比如我们常用到的元素定位工具–uiautomatorviewer
我看到网上一些资料说是直接下载解压包就行了,但是我这里找不到。还是得安装。如有解压版的朋友可以分享一下
3.1下载
地址:http://tools.android-studio.org/index.php/sdk/
3.2 安装
下载完后解压,解压后是这样子的。但是里面的add-ones,platforms都是空的,还是得安
点击 SDK Manager,主要安装一下(安装过程有点长,需要耐心,安装完成的后面都会打√ ,并且状态是installed)
这个地方说明一下,我这里安装的是5.1.1的,我建议跟模拟的版本保持一致。我一开始用的是最高版本,然而却出现了问题。理论上高版本会兼容低版本的
如果网速不好可以更换镜像库:tools—options
3.3 配置
在环境变量里面新增ANDROID_HOME,把Android-sdk的路径填上去
然后把platform-tools和built-tools路径追加进去,点击确定
3.4测试是否配置OK
先测试adb命令(Android debug bridge,android调试桥),看到以下信息证明是成功的
再测试aapt命令(这个选项,可以不配置,主要用来解析软件包的一些信息,到时候用得上),后面会讲到怎么用
4 安装安卓模拟器(可选项,可以用真机代替)
我这里安装的是夜神模拟器,安装雷神模拟器获取APP快照的时候总报错
下载地址:https://www.yeshen.com/
自行根据电脑的情况下载对应的版本,安装完以后的界面
https://www.cnblogs.com/minbk/p/12390387.html