Appium工作原理1

上一篇 / 下一篇  2017-05-09 15:28:36 / 个人分类:Appium

2.1 Client端:
一般来说就是运行代码的机器,即我们是用Java语言编写的代码,也可以用其他Selenium支持Python,ruby,C#等语言来编写,Appium提供的Appium-client API是Appium通过扩展Selenium的Webdriver协议而来的,我们编写代码的时只要实现Webdriver标准协议即可。

  2.2 Appium Server
Appium Server功能是监听接口,接收client端发送的command,然后将command转为移动端能够识别的command,然后发送给移动设备进行操作,再等待移动设备返回来的操作结果,将操作结果发送给client端。 Appium server是可以放在client端,也可以放在云端。 Appium server 默认的端口号是4723,用于Appium server监听client端的发送来的请求。

  2.3 移动设备:
Appium最早是支持AndroidIOS移动设备app自动化测试,后来开始对Windows设备平台的支持,支持windows平台的UWP软件自动化测试
  2.3.1 Android设备
     Android端,Appium基于Webdriver协议,利用Bootstrap.jar,最后通过调用UIautomatior命令,实现APP的自动化测试(Android4.2以前的版本是用Instrumentation框架,通过绑定另外一个独立的selendroid项目来实现),Android4.2以后的版本是用UIautomator)。UIAutomator测试框架是Android SDK自带的APP UI自动化测试Java库,另外UIAutomator对H5支持有限,Appium引入了Chromedriver以及Safaridriver来实现H5的自动化。
  在Android设备的工作过程:
  1.Appium server将监听到的4723端口的指令,转发给中间件Bootstrap.jar。Bootstrap.jar是用Java编写的,安装在Android手机上;
  2.Bootstrap监听4724端口并接收Appium server的指令;
  3.Bootstrap再通过调用UIautomator的命令来实现具体的command操作。
  4.最后Bootstrap将执行的结果返回给Appium server。

   2.3.2 IOS设备
     IOS设备底层是用的uiautomation接口。Appium ios封装的是apple的instruments框架,主要用了Instrument里的Automation(APPle的自动化测试框架),然后在设备注入Bootstrap.js进行监听。
 在IOS设备的工作过程:
1.Appium Server将监听到的4723端口的指令,调用instruments.js启动一个socket server,同时分出一个子进程instrument.app,将Bootstrap.js注入到设备,然后
2.instruments.j启动一个socket server,同时分出一个子进程instrument.app,将Bootstrap.js注入到IOS设备,进行具体的指令操作。
3.最后command执行完成后,Bootstrap.js将执行的结果返回给Appium server。

      Android和IOS区别在于Appium server将请求转发到Bootstrap.js和Bootstrap.jar,然后由Bootstrap驱动UIAutomation和UiAutomator去device上完成具体的操作动作。

  2.3.3 Windows设备
Appium对Windows设备的支持和操作要比Android和IOS设备简单许多,但需要Windows application Driver.exe支持,Winappdriver是一个符合Json移动协议标准的服务,主要用于监听Json协议的HTTP请求。Winappdriver默认的监听地址是127.0.0.1:4723,可以修改这个地址来监听不同的IP地址和端口,实现远程自动化测试但需要使用管理员权限来启动WinappDriver, 
语法: WinAppDriver.exe IPaddress Port 
        操作:1.安装好winAppDriver后,以管理员权限运行cmd;
       2.定位到WinAPPDriver安装路径下;
     3.运行 WinAppDriver.exe 10.31.4.100 4723 (也可以修改为WinAppDriver.exe 10.31.4.100 4880/wd/hub)

相关阅读:

TAG: 工作原理

 

评分:0

我来说两句

Open Toolbar