1.Appium的架构原理
Appium的架构原理如图所示,由客户端(Appium Client)和服务器(Appium Server)两部分组成,客户端与服务器端通过JSON Wire Protocol进行通信。
2.Appium原理解读
客户端Client(我们的电脑)上运行自动化测试脚本,调用的是webdriver的接口,appium server接收到客户端client上发送过来的命令后,会将接收到的命令转换为UIautomator认识的命令,然后由UIautomator来在设备上执行自动化。
Appium启动时会创建一个http:127.0.0.1:4723/wd/hub服务端(相当于一个中转站),脚本会告诉服务器我要做什么,服务端再去跟设备打交道,服务端完成了脚本交给他的任务之后
2.1 服务端和设备如何通讯?
服务端和设备默认使用4724端口进行通讯的,底层调用uiautomator工具,在测试的时候服务端会给设备扔一个jar包就是appiumbootstrap.jar,会启动这个包,启动之后会在手机上创建一个socket服务,暴露的就是4724的端口;相对于socket服务来说,appium服务端又是一个客户端;
服务端的4724可以修改,设备上的不可以;服务端收到脚本传递过来的命令之后,通过电脑上的4724端口,想设备上的4724端口发送指令,appiumbootstrap.jar收到指令后回去完成点击,滑动其他的操作,完成之后再通过服务给服务端一个相应。服务端收到之后再去相应脚本。
测试精讲视频
如果你觉的文章读的不过瘾,可以查看详细的视频教程。
《移动测试必备技能》
UI自动化测试:Selenium3自动化测试
【测试全系列视频课程】
学习路线如下