title: 玩转Appium自动化测试
date: 2016-08-13
categories: iOS
{% cq %}
前一段时间,项目里加入了自动化测试.隧在我司各大ruby大神的结伴下,共同完成这个"鬼测试".
{% endcq %}
开读之前你需要知道的
Appium是个什么鬼
Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的。可用于IOS和Android以及firefox的操作系统。原生的应用是指用android或ios的sdk编写的应用,移动网页应用是指网页应用,类似于ios中safari应用或者Chrome应用或者类浏览器的应用。混合应用是指一种包裹webview的应用,原生应用于网页内容交互性的应用。
重要的是Appium是跨平台的,何为跨平台,意思就是可以针对不同的平台用一套api来编写测试用例。
Appium环境搭建
先把一下环境装好备用
- Java
- Command_Line_Tools (http://obh6cwxkc.bkt.clouddn.com/Command_Line_Tools_OS_X_10.11_for_Xcode_7.3.1.dmg)
- ruby (https://ruby-china.org/)
- brew (http://brew.sh/index_zh-cn.html)
- node (https://nodejs.org/en/download/)
- npm
- Appium (npm install -g appium 安装即可)
当然你也完全可以不用这样安装appium,直接用dmg安装包also ok~
appium 官网
如果你嫌网速慢,也可以用我下载好的download
appium me
打开Appium 应用程序,点击3监测一下环境
红色框框代表iOS测试所需要的,绿色代表安装成功
开战实际项目开发
自动化测试项目搭建
- .zip 是.app的压缩文件,当然你也可以直接用XXX.app (xcode编译项目,Products目录下有XXX.app)
- common 里包含着测试公用的.rb文件
- gemfile 所需的gem包
- spec 文件包含所有模块的测试rb文件
模拟器运行项目
配置appium
- APP路径要对
- 设备模拟器和版本匹配要对
- 红框内必选(boudleID也可以不写)
配置完点击=> 问号(inspector) 弹出inspector 视图元素检查页面
点击完Record
对于如何编写测试代码,两种方式,一种你可以直接在页面区操作页面,同时在代码区生成测试代码(此代码是利用xpath遍历定位元素,效率不高).另一种是用appium提供的定位元素方法编写测试代码(这里是appium的所有方法)
如果弹 不出此页面,�你可以尝试
- 更换server address : 127.0.0.1
- 检查打包的.app文件是否为开发证书编译
- 检查当前xcode的模拟器和当前选择的设备是否一致
- 如果还不行,请尝试更换.app
.rb怎么写?
可能有些小白读到这里还是不知道该如何下手,这里我已经基本的框架搭建完成,供大家小试.
appium demo
启动appium 测试
- 要 开启服务
- 要 rspec 执行命令
- 然后模拟器就会自动开启执行你rspec里所有的.rb文件
总结
这里面的坑,还有很多.多去testhome里看看,appium提供的方法很多,这是一个要花费很多时间去尝试的经历.重要的元素定位方法,测试用例的编写,ruby语言的了解,如果以上都完成了,那你就可以去了解如何用Jenkins部署项目自动化测试了~~
资源链接
细心找找testhome里的资源,总会有你想要的.