Appium实现原理

       

     Client/Server架构,运行的时候Server端会监听一个端口,然后接收由client发送来的命令。翻译这些命令,把这些命令转成移动设备可以

   理解的形式发送给移动设备,然后移动设备执行完这些命令后把执行结果返回给appium serverappium server再把执行结果返回给client

     在这里client其实就是发起命令的设备,一般来说就是我们代码执行的机器,执行appium测试代码的机器。狭义理解,可以把client理解成是代码,

   这些代码可以是java/ruby/python/js的,只要它实现了webdriver标准协议就可以。

     Session:每个Client连接到Server以后都会有一个Session ID,而且Client发送命令到Server端都需要这个Session ID,因为这个seesion id代表了

   你所打开的浏览器或者是移动设备的模拟器。所以你甚至可以打开NSession,同时测试不同的设备或模拟器。

     Desired Capabilities就是一个键值对,设置一些测试的相关信息来告诉Server端,我们需要测试iOS、还是Android或者换是WebApp等信息。

     Appium ServerNode.js写的,所以可以直接用NPM来进行安装。

     Appium ClientsMac OSWin下提供的GUI,不需要装Node.js,方便测试人员操作。

原文地址:https://www.cnblogs.com/Thor4356/p/6528334.html