一、webdriver的实现原理
webdriver原理是经典的Server-Client架构(C/S)
这里讲到的是脚本和浏览器的交互,client端开始运行驱动浏览器的脚本的时候,这是浏览器收到请求开始启动并开启侦听端口(80),并自动创建session,保持浏览器和对应客户端的会话连接,然后客户端运行脚本,向浏览器发送http请求,浏览器解析请求,根据脚本内容做出相应操作,返回response。这时client端根据response选择结束还是继续执行。
- webdriver操作浏览器、页面采用的协议:the webdriver wire protocol
- Client和Server的通信协议:HTTP
- HTTP传输的数据内容为遵循WP协议json格式数据
二、appium的工作原理
appium的原理也是C/S架构的形式,appium本身就是一个远程服务器,appium中的Json wire protocol继承自selenium的webdriver wire protocol,并进行了扩展,使得Json wire protocol能够控制不同的移动设备的行为。
当开启appium服务器的同时就开启了监听端口;我们运行脚本的时候,调用任何的appiumAPI,都会向Appium Server端post一条HTTP请