Appium Grid工作原理
来源:互联网 发布:安卓看电视软件 编辑:程序博客网 时间:2024/06/08 20:11
Appium Grid工作原理
1、Appium Android
在Android端,appium基于WebDriver,并利用Bootstrap.js,最后通过调用UiAutomator的命令,实现App的自动化测试。UiAutomator测试框架是Android SDK自带的App UI自动化测试Java库。
另外由于UiAutomator对H5的支持有限,appium引入了chromedriver来实现基于H5的自动化。
主要原理:
1.左边的WebDriver script是我们的selenium测试脚本
2.中间是起的Appium的服务,Appium在这边起了一个Server(4723端口),跟selenium Webdriver测试框架类似,Appium支持标准的WebDriver JSONWireProtocol 。在这里提供了一套web服务,Appium Server接收web driver 标准请求,解析请求内容,调用对应的框架响应操作。
如:脚本发送一个点击按钮的请求给appium server
3. appium server会把请求转发给中间件Bootstrap.jar ,它是用java写的,安装在手机上.Bootstrap 接收appium 的命令(4724端口),最终通过调用UiAutomator的命令来实现。
4.最后执行的结果由Bootstrap返回给appium server
5.另外,appium还用到了chromedriver来支持基于H5(webview)的测试。
2、Appium IOS
在IOS端,appium同样使用WebDriver的一套协议。与Android端测试框架不同的是,appium ios封装了apple的 Instruments框架,主要用了Instrument里的UI Automation(Apple的自动化测试框架),然后在设备中注入bootstrap.js进行监听。
主要原理
1.左边的WebDriver script是selenium测试脚本。
2.中间是起的Appium的服务,Appium在这边起了一个Server(4723端口),跟seleniumWebdriver测试框架类似,Appium支持标准的WebDriver JSONWireProtocol 。在这里提供了一套web服务,Appium Server接收web driver 标准请求,解析请求内容,调用对应的框架响应操作。
如:脚本发送一个点击按钮的请求给appium server
3. appium server调用instruments.js 启动一个socket server,同时分出一个子进程运行instruments.app,将bootstrap.js(一个UIAutomation脚本)注入到device用于和外界进行交互。
4.对于H5的操作,运用了 iOS webkit debug proxy来实现
3、Appium Grid 框架
采用selenium grid框架形式。
在一个server上搭建一台Selenium Hub,多台Appium Server连接到Selenium Hub,测试真机(或者模拟器)和Appium Server连接。
测试脚本通过WebDriver JSONWireProtocol发送到Selenium Hub上,然后由Selenium Hub自动分发到对应的空闲Appium Server上进行执行。
0 0
- Appium Grid工作原理
- Appium简介/工作原理
- appium工作原理
- Appium工作原理介绍
- Grid++Report工作原理
- Appium简介以及工作原理
- selenium grid的工作原理
- Appium的前世今生、工作原理等
- 了解appium自动化的工作原理
- Appium原理
- appium 原理
- Appium grid ----appium 的并行化测试
- appium+selenium grid appium并行测试
- appium grid模式运行自动化
- appium架构原理
- appium的原理
- appium 原理解析
- Selenium-Grid工作方式
- ROS 国外学习网站
- css--表格/表单
- mysql 初级操作
- js 获取当前年月日时分秒星期
- PullBezierZoomView 一个具有贝塞尔曲线下拉效果的自定义view
- Appium Grid工作原理
- 【安卓学习之常见问题】 Eclipse 提示 @Override 错误
- 如何实现JMeter关联
- 堆(heap)和栈(stack)的区别
- JAVA学习代码——实现文件名的过滤
- leetcode之求组合数
- Source Insight 3.x serial 序列号
- Linux下c语言线程池的实现
- IOCP不可忽视的细节