【马士兵】马老师 带你认识selenium
Appium简介
开源、跨平台、多语言支持的移动应用自动化工具
可测对象
原生应用APP、混合应用APP、移动Web App
APP运行环境:真机、模拟器
测试对象App运行平台
IOS、Android(目前这两种是市场主流);Windows、FirefoxOS。
测试程序运行平台支持 Windows、Linux、Mac OS;
注:IOS应用appium server必须运行在Mac OS系统上,如 MacBook、imac;
支持的测试语言
python、Java、ruby、php、js、C#;主流是python;
Appium自动化原理拓扑图
AppiumServer是由JS实现的,Node.js 是js程序的一个解释器
Appium要能真正自动化手机上的应用必须依赖于各个移动平台所带的自动化框架;
IOS 、Android都有自己的框架, IOS9.3以前用的框架是 uiautomation ,现在用的是XCUITest;
Android用的是 uiautomator,现在最新的有个uiautomator2。框架提供的是运行库,运行库运行在移动设备上。
AppiumServer服务起来后会在移动设备上安装一个帮助自动化的应用,我把它理解为“控制许可”的这么一个应用,通过这样应用可以编译我们自动化给出的指令,然后按指令测试移动设备上的应用。
Android底层自动化工具
Android2.3~4.1 底层工具用是 Selendroid,现在使用的很少算极冷门;自Android4.2以后主流使用的是 uiautomator 目前占比应该超过了90%;
下面这个原理图主要针对上一张图 Android自动化的一些细节
uiautomator 会将Bootstrap.jar导入在移动设备中,这个jar包含了各种自动化命令解析。uiautomator2会在移动设备上安装一个APK 其作用等同于Bootstrap.jar
IOS底层自动化工具
ios9.3以前,苹果使用的是UIAutomation;ios9.3以后的版本 XCUITest (市场占比差不多97%)
---------------------