appium 原理解析(转载雷子老师博客)
appium 原理解析
原博客地址:https://www.cnblogs.com/leiziv5/p/6427609.html
Appium是 c/s模式的
appium是基于 webdriver 协议添加对移动设备自化api扩展而成的
webdriver 是基于 http协议的,第一连接会建立个 session 会话,并通过 post发送一个 json 告知服务端相关测试信息
IOS 原理图( 来源于:百度 )
appium ios封装了 封装了 封装了 apple 的 Instruments I框架,主要用了 框架,主要用了 Instrument里的 UIAutomation(Apple 的自动化测试框架),然后在设备中注 自动化测试框架),然后在设备中注 入 bootstrap.js 进 行监 听。
Client ent是我们编写的 webdriver脚本 ,中间是 appium启动 server (默认监听 4723 端口 ),
appium server 调用 instruments.js启动 ⼀一个 socket server ,同时分出一个 ,子进程运⾏instruments.app 将 bootstrap.js(一个 UIAutomation 脚本)注 ⼊入到 devices⽤于和外界进行交 。
最后 Bootstrap.js将执行的结果返回给 将执行的结果返回给 appium server ,appium server再将结果返 回给 appium client 。
Android原理图( 来源于:百度)
4.2 以后是基于 uiautomator框架实现查找注入事件的, 框架实现查找注入事件的,框架实现查找注入事件的, 4.2 以前则是 instrumentation i框架的,并封装成一个叫 框架的, Selendroid 这玩意提供服务
Client ent是我们编写的 webdriver 脚本。中间是 appium启动 server (默认监听 4723 端口 ),
appium server 会把请求转发给中间件 会把请求转发给中间件 Bootstrap.jar ,它是用java写的,安装在 手机上 .Bootstrap监听 4723端口并接收appium 的命令,最终通过调 的命令过调 用 UiAutomator U 的命令来实现。
Bootstrap将执行的结果返回给 将执行的结果返回给 appium server 。
Appiumserver再将结果返回给 client端。
appium 原理解析(转载雷子老师博客)的更多相关文章
- 转载来自朱小厮博客的 一文看懂Kafka消息格式的演变
转载来自朱小厮博客的 一文看懂Kafka消息格式的演变 ✎摘要 对于一个成熟的消息中间件而言,消息格式不仅关系到功能维度的扩展,还牵涉到性能维度的优化.随着Kafka的迅猛发展,其消息格式也在 ...
- Trie树(c++实现)——转载自jihite的博客
Trie树(c++实现) 原理 先看个例子,存储字符串abc.ab.abm.abcde.pm可以利用以下方式存储 上边就是Trie树的基本原理:利用字串的公共前缀来节省存储空间,最大限度的减少无谓 ...
- 【转载】国内网站博客数据统计选免费Google Analytics还是百度统计
[转载]国内网站博客数据统计选免费Google Analytics还是百度统计 Google Analytics谷歌统计是我用的第一个网站统计工具,当然现在也一直在用.Google Analytics ...
- 如何快速转载CSDN中的博客
看到一篇<如何快速转载CSDN中的博客>,介绍通过检查元素→复制html来实现快速转载博客的方法.不过,不知道是我没有领会其精神还是其他原因,测试结果为失败.
- python老师博客
前端基础之HTML http://www.cnblogs.com/yuanchenqi/articles/6835654.html 前端基础之CSS http://www.cnblogs.com/yu ...
- 201771030103-陈正丽 实验一 软件工程准备—<快速浏览 邹欣老师博客—读后感>
项目 内容 <软件工程> 代祖华老师博客 作业要求 邹欣老师博客 学习目标 具体目标 在大概阅读邹欣老师的博客时,发现老师写了关于很多方面的内容,有基础的也有比较深奥的,这次阅读过程中主要 ...
- Android ListView工作原理完全解析(转自 郭霖老师博客)
原文地址:http://blog.csdn.net/guolin_blog/article/details/44996879 在Android所有常用的原生控件当中,用法最复杂的应该就是ListVie ...
- day44 数据库学习 索引 引用自egon 老师博客
MySQL索引管理 总结 #索引是存在硬盘中的, #索引的功能, 1.可以加速查询 2.但是他会降低写入和删除的速度 所以不能乱加索引 总结二 1 最左前缀匹配原则 2设置的索引,它的字段中的内容占空 ...
- JavaScript资源大全中文版(Awesome最新版--转载自张果老师博客)
JavaScript资源大全中文版(Awesome最新版) 目录 前端MVC 框架和库 包管理器 加载器 打包工具 测试框架 框架 断言 覆盖率 运行器 QA 工具 基于 Node 的 CMS 框 ...
随机推荐
- vue项目打包问题
使用vue-cli脚手架构建vue项目 vue init webpack project npm run build 打包时出现 Tip: built files are meant to be se ...
- Krpano教程tour.xml详解
<krpano version="1.18" //版本号 onstart="" //网页启动时调用的函数 basedir="%FIRSTXML% ...
- Python-待
内置函数总结 https://www.cnblogs.com/jason-lv/p/8243141.html https://www.cnblogs.com/pyyu/p/6702896.html 数 ...
- H5 类选择器
10-类选择器 错误的写法: --> 迟到毁一生 早退穷三代 按时上下班 必成高富帅 我是段落 我是段落 <!DOCTYPE html> <html lang="en ...
- Feel Good POJ - 2796 (前缀和+单调栈)(详解)
Bill is developing a new mathematical theory for human emotions. His recent investigations are dedic ...
- 快速失败/报错机制 - fail-fast
一.快速报错机制(fail-fast) 这是<Java编程思想>中关于快速报错机制的描述 Java容器有一种保护机制,能够防止多个进程同时修改同一个容器的内容.如果在你迭代遍历容器的过程中 ...
- Servlet 使用ServletContext共享数据,读取web.xml配置
ServletContext对象 session和cookie,对于每一个请求用户来说,都是不同的,因为要保证隐私安全. 而有一些数据,可以让所有用户共享,此时就可以用ServletContext对象 ...
- shell脚本--操作MySQL数据库
其实就是一个很简单的套路,和其他语言差不多,首先连接数据库,然后在进行其他操作. 套路如下: #!/bin/bash mysql="mysql -uroot -proot" #连接 ...
- 测试工具之ab
ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力. ab命令对发出负载的计算机要求很低,既不会占 ...
- java中的定时任务小示例
package package_1; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; ...