App是一个开源工具,用于自动化IOS手机、Android手机和Windows桌面平台上的原生、移动Web和混合应用。【原生应用】指那些用IOS、Android或者Windows SDKs编写的应用。【移动Web应用】是用移动端浏览器访问的应用(Appium支持IOS上的Safari、Chrome和Android上的内置浏览器)。【混合应用】带有一个[webview]的包装起——用来和Web内容交互的原生控件。类似于Apache Cordova项目,创建一个混合应用使得Web技术开发然后打包进原生包装器创建一个混合应用变得容易了。
Appium特点:
- 支持多平台:允许你用同样的API对多平台(IOS、Android、Windows)写测试。
- 支持多语言:支持你使用多语言(Python、Java、ruby、Js、C#等)进行脚本编写
Appium是C/S架构的
Appium是基于webdriver协议添加了对移动设备自动化API扩展而成的,webdriver是基于http协议的,第一连接会建立一个session会话,并通过post发送一个json告知服务端相关测试信息。
Appium会首先开启一个监听4724端口的server,接收测试脚本发送过来的对应请求,再将对应的请求发送给中间件Bootstrap.jar(比如点击一个APP中的一个Button就是一条请求)。
Bootstrap.jar
监听4724端口由Appium发送过来的相关请求,并且将请求转换称UiAutomator可以识别的命令发给UiAutomator进行处理。
Bootstrap作用
Bootstrap是Appium在初始化的时推送到Android手机上的一个UiAutomator测试脚本,该脚本的唯一一个测试方法所做的事情是在手机端开启一个SocketServer(通信模块),用来监听Appium从PC端过来的命令发送给UiAutomator来执行处理。它会监听4724端口获得命令然后传递给UiAutomator来做处理。
Bootstrap是uiautomator的测试脚本,它的入口类bootstrap继承于UiautomatorTestCase, 所以Uiautomator可以正常运行它 ,它也可以正常使用uiautomator的方法,这个就是appium的命令可以转换成uiautomator命令的关键;
其次,bootstrap是一个socket服务器,专门监听4724端口过来的Appium的连接和命令数据,并把Appium的命令转换成UiAutomator的命令来让UiAutomator进行处理;
总结:
AppiumBootstrap是一个jar包; Appium会将这个jar包打到device中; 然后使用adb shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap会使用一个SocketServer用于监听发送过来的命令; 得到命令之后,扔给Uiautomator执行;
Appium 环境搭建
Node.js安装
Appium Server 是用 node.js 运行的,基于js开发出来的。所以我们最好可以先安装Node.js。官网地址:https://nodejs.org/zh-cn/
安装JDK,及配置环境变量
略
SDK安装及配置环境变量
下载地址:https://www.androiddevtools.cn/
选择SDK Tools,可以选择exe或zip都行,但注意在Android SDK Manger中,Android SDK Platform-tools、Andrdoi SDK Build-tools、Google USB Driver必须要安装。然后就是配置环境变量。可以新建个系统变量名为ANDROID_HOME路径指向android-sdk,然后再将%ANDROID_HOME%\tools与%ANDROID_HOME%\platform-tools添加到系统环境变量path中就可以了。完成后在任意目录的cmd下输adb version能正常显示版本信息则说明以上安装成功。
Appium安装
下载地址:http://appium.io/
直接选择最新的版本安装即可。
appium-inspector安装
由于在Appium 1.22.0版本开始,Appium服务器与元素查看器分家了,所以Inspector需要单独安装。地址:https://github.com/appium/appium-inspector/releases
appium-python-client安装
我们会以Appium+Python+Selenium方式进行自动化,所以Python相关的库自然要安装。
pip install appium-python-client
**注:**如果Selenium没有装的话也记得要安装。
模拟器安装
由于模拟器调试会比较方便些,所以在真机不便的情况下也可以使用模拟器进行调试测试。这里推荐使用夜神模拟器。地址:https://www.yeshen.com/
OK,完成以上的步骤,就基本搭建好Appium的环境了,下一话我们可以初步体验Appium自动化操作APP。
1万+

被折叠的 条评论
为什么被折叠?



