在公司学习测试快两个月了,闲下来写点自己这段时间对appium的认识,首先讲讲appium的工作原理
appium的工作原理:
- appium调用的是webdriver的接口(文档地址 http://webdriver.io/api.html),webdriver是selenium的升级本,主要新功能是继承了selenium1.0和webdriver。
- appium关于元素的定位,android端是通过android底层的instrumentation(api2.3+通过绑定另外一个独立的selendroid项目来实现的),api4.2+以后调用的是 uiautomator 接口 集成工具为(sdk/tools/uiautomatorviewer)。ios端用的是ios底层的uiautomation接口。
- appium服务端是用node.js写的,所以node是必须的。下面是从大神那儿盗过来的图,分别是android和ios端的交互流程。大致流程:server端:监听一个端口(我用的是4723),接受client发送来的command,翻译这些命令,转换成移动设备可以理解的形式发送给服务端,然后移动设备执行完这些command之后再把执行结果返回给appium server,appium再把执行结果返回给client。
- client其实就是发起command的设备,一般来说就是执行代码的机器,执行appium测试代码的机器,可以把client理解成代码,这些代码可以是java,python,ruby,js等只要能实现webdriver标准协议就可以了。
- 先写着么多,明天过来接着写一些遇到的坑。