bootstrap 5Selenium⾯试题3-appium⼯作原理、Selenium和Appium的关
系?
⽬前Appium框架可以时⽀持android 和 ios 两个操作系统的App⾃动化测试
⼀、appium-Android⼯作流
在Android端,appium基于WebDriver协议,利⽤Bootstrap.jar,最后通过调⽤⽤UiAutomator的命令,实现App的⾃动化测试
具体的步骤:
1.客户端是我们写的webdriver测试脚本。
2.中间是Appium的服务,Appium在服务端启动⼀个Server(4723端⼝)。在这⾥提供它提供了⼀套REST的接⼝,Appium Server接收web driver client标准rest请求,解析请求内容,调⽤⽤对应的框架响应操作。
3.appium server会把请求转发给中间件Bootstrap.jar ,它是⽤java写的,安装在⼿机上.Bootstrap监听4724端⼝并接收appium 的命令,最终通过调⽤⽤UiAutomator的命令来实现。
4.最后Bootstrap将执⾏的结果返回给appium server
5.appium server再将结果返回给 appium client
⼆、appium-iOS⼯作流
在iOS端,appium同样使⽤WebDriver的⼀套协议。与Android端测试框架不同的是appium ios封装了apple的 Instruments框架,主要⽤了Instrument的UIAutomation(Apple的⾃动化测试框架),然后在设备中注⼊bootstrap.js进⾏监听。
具体的步骤:
1.客户端是我们写的webdriver测试脚本。
2.中间是Appium的服务,Appium在服务端启动⼀个Server(4723端⼝),跟selenium Webdriver测试框架类似, Appium⽀持标准的WebDriver JSONWireProtocol。在这⾥提供它提供了⼀套REST的接⼝,Appium Server接收web driver client标准rest请求,解析请求内容,调⽤⽤对应的框架响应操作。
3.appium server调⽤instruments.js 启动⼀⼀个socket server,同时分出⼀个⼦⼦进程运⾏instruments.app,将bootstrap.js(UIAutomation 脚本)注⼊⼊到device⽤于和外界进⾏交互。
4.最后Bootstrap.js将执⾏的结果返回给appium server。
5.appium server再将结果返回给 appium client。
三、Selenium和Appium的关系
区别:Selenium是web端的⾃动化测试⼯具,Appium是移动端的⾃动化测试⼯具
联系:在Python的appium包中实际继承了Selenium,在测试过程中将移动端的页⾯元素当作是⽹页来处理,
所以Selenium的定位⽅法也可以使⽤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论