Appium基础三:Appium实现原理
1.web自动化测试用的selenium webdriver 是c/s模式,server端和client端是通过webdriver protocol实现的,而Appium是参考selenium开发的,采用也是webdriver 协议,而底层封装不同平台的测试工具;
2.Appium Android平台架构图:

原理:
a. 执行脚本时,client-java将脚本翻译为webdriver 协议,与appium server通过json 进行交互;
b. appium server 通过webdriver协议并将翻译为UI Automator命令,通过bootstrap执行
c. bootstrap 把执行结果转发回appium server
3.Appium IOS平台架构图:

原理:
a. 执行脚本时,client-java将脚本翻译为webdriver 协议,与appium server通过json 进行交互;
b. appium server 通过webdriver协议并将翻译为 Instruments命令,通过UIAutomation执行
c.Instruments再把执行结果转发回appium server
Appium基础三:Appium实现原理的更多相关文章
- Appium基础(三)对象抓取
		
一.启动Android模拟器 二.打开App应用,这里以计算器为例子 三.打开uiautomatorviewer.bat 这个文件在Android SDK-->Tool目录下 双击uiautom ...
 - Appium基础:appium相关API
		
1.获取信息类: 1.1 获取当前界面的组件: driver.currentActivity(); //获取当前界面的activity,可用于断言是否跳转到预期的activity 1.2 获取当前页面 ...
 - Appium基础教程
		
目录 Appium教程 Appium简介 App自动化测试工具对比 Appium实现原理 环境搭建 Andorid介绍 基本架构 常见布局/视图 基本控件 控件常见属性 Adb介绍 Adb常用命令 A ...
 - 『与善仁』Appium基础 — 14、Appium测试环境搭建
		
目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...
 - Appium基础——需要知道的
		
Appium使用平台厂商提供的自动化框架: 1.ios 苹果的UIAutomation 2.android google的UIAutomator Appium底层使用厂商提供的自动化框架,就不需要 ...
 - 『与善仁』Appium基础 — 18、元素定位工具(二)
		
目录 1.Appium Inspector介绍 2.Appium Inspector打开方式 3.Appium Inspector布局介绍 4.Appium Inspector工具的配置 5.Appi ...
 - 三 APPIUM Android自动化 测试初体验
		
1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependencies></dependencies>下添加appium相关依赖: <depende ...
 - Appium基础(二)demo
		
具体配置,请看上一篇 一.启动Android模拟 Start 打开如下界面:这个过程可能会有些慢,黑屏等等,请耐心等待 二.appium配置 1.点机器人图标 PlatformVersion 选19, ...
 - Appium基础环境搭建(windows)---基于python
		
1 JDK安装 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装注意:安装 ...
 
随机推荐
- HDU4027(线段树单点更新区间)
			
Can you answer these queries? Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65768/65768 K ...
 - Linux 包管理基础:apt、yum、dnf 和 dpkg
			
https://linux.cn/article-8782-1.html 1. apt-get 安装( 在线) 会帮我把所有的依赖包都一起安装 apt-get install xxx 安装xxx .如 ...
 - WPF访问UserControl的自定义属性和事件
			
要实现外部窗体能直接访问UserControl的属性必须把UserControl的属性定义为依赖属性: 一,在UserControl.cs中为TextBox控件的Text建立依赖属性,输入" ...
 - XXX.h:143: error: expected declaration specifiers or ‘...’ before ‘YYY’
			
出现上面头文件错误,原因是定义YYY的头和XXX.h互相包含了
 - CI框架中,判断post,ajax,get请求的方法
			
CI框架当中并没有提供,类似tp框架中IS_POST,IS_AJAX,IS_GET的方法. 所有就得我们自己造轮子了.下面就介绍一下,如何定义这些判断请求的方法.其实很简单的. 首先打开constan ...
 - starUML建立时序图
			
对于经常看项目代码或者写项目的人.时序图可以帮助理解.记录项目.设计项目等用途. 1.starUml下载安装比较简单,这里不再赘述.打开starUml 2. 在Model Explorer 中,在Un ...
 - java发送udp广播包
			
2013-06-07 22:44 1272人阅读 评论(2) 收藏 举报 import java.io.IOException; import java.net.DatagramPacket; imp ...
 - JavaScript 原型的实际应用之实现一个 jQuery
			
我们平时使用jQuery大概是这样: let $p = $('p'); $p.css('fontSize', '40px'); 我们生成jQuery实例对象后,就可以使用原型上的css(), html ...
 - QMYSQL driver not loaded 的原理和解决办法
			
转:http://blog.csdn.net/m15814478834/article/details/49902077 最近使用Qt遇到了"QMYSQL driver not loaded ...
 - AcEdCommandStack 输出所有命令
			
; AcEdCommandIterator* iter = nullptr; for (iter = acedRegCmds->iterator(); !iter->done(); ite ...