(我使用的是真机测试,使用模拟器还没有研究过)
一、关于Appium
- 1,appium是开源的移动端自动化测试框架;
- 2,appium可以测试原生的、混合的、以及移动端的web项目;
- 3,appium可以测试ios,android应用(当然了,还有firefox os);
- 4,appium是跨平台的,可以用在osx,windows以及linux桌面系统上;
具体用什么语言开发,看公司的业务和要求了,我选择的是java语言,主要是考虑自己对java语言比较熟悉。。。当然java语言有一个缺点就是速度不快,运行一个用例半天没结束实在是等得人着急。官方给的语言很多这些都是。
二、基本原理
Appium的官方网站http://appium.io/index.html?lang=zh
具体Appium的一些信息还是需要到官方网站去了解,我这里只是简单的Appium做一个介绍,当然,大部分还是参考了官方上的和别人的一些东西。
Appium可以驱动多种原生自动化框架,同时也提供基于Selenium的 WebDriver JSONwire protocol api。基于Dan Cuellar's 在iOS自动化上的成果,Appium通过驱动 Apple的UIAutomation库来提供 iOS支持。而在新版本的Android上,我们使用 Uiautomator框架,老版本的Android,则使用了 SelendroidFirefoxOS的支持依赖一个基于Gecko平台并且兼容 WebDriver的自动化驱动Marionette。
具体工作模式如下
appium ios封装了apple的 Instruments框架,主要用了Instrument里的UIAutomation(Apple
的⾃自动化测试框架),然后在设备中注⼊入bootstrap.js进⾏行监听。
1.左边的WebDriver script是selenium测试脚本
2.中间是起的Appium的服务,Appium在这边起了⼀一个Server(4723端口),跟selenium Webdriver测试框架类似,Appium⽀支持标准的WebDriverJSONWireProtocol 。在这里提供了一套web服务,Appium Server接收web driver标准请求,解析请求内容,调⽤用对应的框架响应操作。
如:脚本发送一个点击按钮的请求给appiumserver,
3.appium server调用instruments.js 启动⼀一个socket server,同时分出⼀一个⼦子进程运⾏行
instruments.app,将bootstrap.js(一个UIAutomation脚本)注⼊入到device⽤用于和外界进⾏行交
互。
三、Appium的下载和安装
下载的地方很多,官方下载http://appium.io 首页进去就有下载的链接。
另外这个网站不知道是怎么回事,提供了Appium下载的链接和一些资料,网站地址如下
https://bitbucket.org/appium/appium.app/downloads/
下载完dmg文件后怎么安装大家都知道了,图标如下