Appium自动化-Android(一)
Appium自动化-Android(一)
1、特点
appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。
“移动原生应用”是指那些用iOS或者 Android SDK 写的应用(Application简称app)。APP应用客户端,它包含了所有UI元素、框架逻辑等。只有数据存储在云端。
“移动web应用”是指使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的 Chrome)。
“混合应用”就是HTML5 APP,混合APP通常由两部分组成,HTML5云网站+APP应用客户端,这里的APP应用客户端实际只是个架子,里面的UI元素和逻辑,都是存储在云端的,每次打开APP时,去云端获取数据呈献给手机用户。说白了混合APP就是将web页面嵌套到了APP应用客户端中,额米尺打开APP都要向HTML云端服务请求数据,所以会产生不小的数据流量,并且如果没有网络,会导致无法看到HTML APP。这就是常说的H5页面。
2、Appium介绍
Appium是一个开源、跨平台的自动化测试框架,它适用于Native APP\Hybrid APP。
Appium有个比较好的设计哲学,简单的说就是不要为了移动端自动化测试而单独开发一套Api接口,所以Appium也是基于Selenium的webdriver进行了扩展,扩展了一些操作移动端的Api接口。
Appium最牛之处在于支持跨平台操作,实际上我们在测试时是启动了Appium Service,这个Service可以放到任意的机器上,供公司的自动化测试人员共同使用。
3、Appium原理
Appium既然是基于selenium做的二次扩展,那么appium也是一个经典的Client-Server的设计模式,我们的Code就是狭义的客户端,Server端与Selenium不同,Selenium直接测试浏览器Web页面,将浏览器作为服务端。而Appium的服务端是我们自己启动的Appium-Server。数据与操作命令传递与Selenium Api接口相同,遵守REST设计风格的Api接口。