Appium的工作原理

Appium工作原理大全 一.Appium整体工作原理 web自动化selenium webdriver 是c/s模式,server端和client端是通过webdriver protocol实现的,而Appium是参考selenium开发的,采用也是webdriver 协议(该协议是基于http的),而底层封装不同平台的测试工具;appium是一个远程服务器,它的Json wire protocol继承自seleniu... 阅读详情

1、简介

appium是c/s模式的,基于webdriver协议添加对移动设备自动化api扩展而成的,所以具有和webdriver一样的特性,比如多语言支持,webdriver是基于http协议的,第一连接会建立一个session会话,并通过post发送一个json告知服务端相关测试信息.对于Android来说,4.2以后是基于uiautomator框架实现查找注入事件的,4.2以前则是instrumentation框架的,并封装成,个叫Selendroid这玩意提供服务,客户端只需要发送http请求实现通讯,意味着客户端就是多语言支持。appium服务端是node.js写的,所以你安装的时候无论哪个平台都是先装node。

2、工作原理

2.1 Android

在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试。UiAutomator测试框架是Android SDK自带的App UI自动化测试Java库。另外由于UiAutomator对H5的支持有限,appium引入了chromedriver以及safaridriver等来实现基于H5的自动化。

appium 在android端工作流
client端也就是我们 test script是我们的webdriver测试脚本。

中间是起的Appium的服务,Appium在服务端起了一个Server(4723端口),跟selenium Webdriver测试框架类似, Appium持标准的WebDriver JSONWireProtocol。在这里提供它提供了一套REST的接口,Appium Server接收web driver client标准rest请求,解析请求内容,调⽤用对应的框架响应操作。

appium server会把请求转发给中间件Bootstrap.jar ,它是用java写的,安装在手机上.Bootstrap监听4724端口并接收appium 的命令,最终通过调用UiAutomator的命令来实现。

最后Bootstrap将执行的结果返回给appium server。

appium server再将结果返回给 appium client。

2.2 ios

在IOS端,appium同样使⽤WebDriver的一套协议。

与Android端测试框架不同的是,appium ios封装了apple的 Instruments框架,主要用了Instrument里的UI Automation(Apple的自动化测试框架),然后在设备中注入bootstrap.js进行监听。

appium 在ios端工作流
client端 依然是 test script是我们的webdriver测试脚本。

中间是起的Appium的服务,Appium在服务端起了一个Server(4723端口),跟selenium Webdriver测试框架类似, Appium持标准的WebDriver JSONWireProtocol。在这里提供它提供了一套REST的接口,Appium Server接收web driver client标准rest请求,解析请求内容,调用对应的框架响应操作。

appium server调用instruments.js 启动一个socket server,同时分出一个子进程运instruments.app,将bootstrap.js(一个UIAutomation脚本)注入到device于和外界进行交互

最后Bootstrap.js将执行的结果返回给appium server

appium server再将结果返回给 appium client。

所以我们可以看到android与ios区别在于appium 将请求转发到bootstrap.js或者bootstrap.jar.然后由bootstrap 驱动UIAutomation和UiAutomator去devices上完成具体的动作。

3、查看启动日志分析

Appium运行原理
appium可以理解为一个c/s架构软件,在pc端安装的appium server端,通过appium client发送操作命令到app端
;在启动时,appium会将bootstrap推送到app上,通过并在app端建立端口为4724的socket端口,接受来自Appium的
json命令,通过UIautomaticer操控app上的控件。

Appium自动化测试基础 — APPium基本原理 APPium是一个C/S架构的自动化测试框架,APPium的核心其实是一个暴露了一系列REST API的server。(也就是Appium的核心是一个提供了一组REST API的Web服务器。) 这个server的功能其实很简单:监听一个端口,然后接收由client(客户端)发送来的command(命令)。翻译这些command,把这些command转成移动设备可以理解的形式发送给移动设备,然后移动设备执行完这些command后,把执行结果返回给appium server,appium server再把执行 阅读详情

相关推荐

软件测试|App自动化之Appium工作原理

Appium是什么?首先,Appium 是一款开源框架,生态丰富,社区强大,一直在被开发者维护;并且是一个灵活的跨平台的测试自动化工具,可以在iOS、Android 或 Windows、Mac 设备上进行移动应用的自动化测试运行,并且能够使用相同的 API 编写多个平台的测试脚本;Appium与Selenium类似,是一个跨语言的自动化框架,并且可以和任何测试框架相结合;可以使用不同的编程语言编写测试脚本,包括 Java、JavaScript、PHP、Ruby、Python 和 C#。Client。

Tester_muller的博客 564

Appium的工作原理终于搞清楚了

1. Appium简介 官方文档描述如下: Appium is an open source test automation framework for use with native,hybridand mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol. Appium 是一个开源工具,用于自动化 iOS 手机、 Android 手机和 Windows 桌面平台上的原..

专注自动化、性能测试、测试架构学习交流 1万+

瑞芯微RK3568开发板实战:Android11系统parameter.txt文件配置全解析(附常见问题排查)

本文深入解析了瑞芯微RK3568开发板在Android 11系统下parameter.txt文件的配置要点与实战技巧。作为BootLoader启动阶段的核心蓝图,该文件决定了硬件初始化、分区布局及电源管理。文章详细拆解了身份标识、GPIO控制(PWR_HLD)、命令行参数及分区表等关键字段的配置逻辑,并针对RK3568平台与Android 11特性提供了专项适配策略,最后附带了启动失败、分区异常等常见问题的深度排查方法。

php55的博客 899

appium工作原理详讲

appium简介 appium是一个移动端自动化框架,它采用C/S的设计模式,支持多类开发语言(java python js c#…)、支持多平台(ios android),支持跨平台使用(windows linux)。它适用于原生或混合移动应用; appium继承了webDriver协议(也就是selenium 2),在其基础上做了扩展,使用JSON wire protocol协议驱动安卓和ios移动应用; appium工作原理(安卓为例) 首先需要了解,appium不同的版本默认使用的不同的执行引擎。

qq_43787743的博客 2867

Pixel 4/4 XL 刷机小白必看:Magisk Root 全流程详解(附电信网络适配技巧)

本文为Pixel 4/4 XL用户提供了一份详尽的Magisk Root全流程指南。从解锁Bootloader、刷入Magisk,到解决电信网络VoLTE适配问题,再到隐藏Root以通过银行App检测,手把手教你安全获取系统最高权限并优化日常使用体验。

weixin_29310605的博客 269

Android逆向实战:抖音聊天记录数据库解析与导出(附完整SQL查询)

本文提供了一份Android逆向实战指南,详细解析了抖音聊天记录数据库的结构与导出方法。通过定位核心的`im.db`数据库文件,深度解读conversation_list、msg等关键表结构,并附上完整的SQL查询语句,帮助开发者或研究人员安全、合规地提取和分析本地聊天数据,适用于移动安全研究与数据分析场景。

mango的博客 862

appium的工作原理

Appium的工作原理 1.Appium简介 Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium支持IOS、Android及FirefoxOS平台。Appium支持多种语言,更可以使用Selenium WebDriver的Api。 2.Appium工作原理(Android) client端也就是我们 test script是我们的webdriver测试脚本...

tang_guo--的博客 889

从零开始:如何在STM32上搭建QP框架实现事件驱动开发(附完整代码)

本文详细介绍了如何在STM32嵌入式平台上从零开始搭建QP框架,实现事件驱动开发。通过对比传统前后台系统与RTOS的局限,深入剖析了QP框架基于活动对象和层次式状态机的核心优势,并提供了完整的环境配置、代码移植及一个智能灯光控制器的实战案例,帮助开发者构建清晰、可维护的复杂嵌入式应用。

weixin_29200741的博客 489

appium工作原理

appium构架及工作原理 一:appium结构 简单来说appium充当一个中间服务器的功能,接收来自我们代码的请求,然后发送到手机上进行执行。 二、初步认识appium工作过程 1.appium是c/s模式的 2.appium是基于webdriver协议添加对移动设备自动化api扩展而成的,所以具有和webdriver一样的特性,比如多语言支持 3.webdriver是基于http协议的,第一连接会建立一个session会话,并通过post发送一个json告知服务端相关测试信息 4.对于android来

Jeffliuniu的博客 3493

软件可靠性测试与评价

本文系统介绍了软件可靠性工程的核心内容,包括可靠性概念、模型分类、测试方法和评价体系。重点解析了可靠性测试的三大步骤:定义运行剖面、设计测试用例和实施测试收集数据,并以智能安防系统为例说明具体应用。可靠性评价需结合业务场景,通过量化指标(MTBF、失效率等)和模型预测持续优化系统。文章强调可靠性需贯穿软件全生命周期,通过闭环反馈实现持续改进,为关键系统提供质量保障。

moton2017的博客 2050

Android 64位支持的坑:诡异的文件名问题

最近在尝试发布我的Android应用程序的更新时,遇到了一个令人困惑的64位错误。本文将详细讲解这个问题的产生原因及解决方法,供大家参考。

m0_74337424的博客 126

Appium工作原理及环境的搭建(1)

Appium Desktop是Appium项目的桌面版GUI工具,提供了一个友好的界面,用于启动Appium服务器、查看设备日志、与设备交互、调试自动化脚本等。相比于命令行工具,Appium Desktop让开发者更直观、更方便地管理自动化测试流程,尤其适合没有命令行经验的开发者。

wenyunick的博客 1426

Ambari 安装部署教程(手把手教学)【超级详细】

本文为读者提供了一套超详细的 Apache Ambari 安装部署教程,采用手把手教学方式,适合初学者及大数据运维人员。内容涵盖前期准备、环境配置、Ambari Server 与 Agent 安装、集群初始化配置、常见问题排查等全流程操作,确保用户能够顺利搭建稳定的 Hadoop 大数据平台管理系统。

Five的博客 1万+

webdriver、appium的工作原理

一、webdriver的实现原理 webdriver原理是经典的Server-Client架构(C/S) 这里讲到的是脚本和浏览器的交互,client端开始运行驱动浏览器的脚本的时候,这是浏览器收到请求开始启动并开启侦听端口(80),并自动创建session,保持浏览器和对应客户端的会话连接,然后客户端运行脚本,向浏览器发送http请求,浏览器解析请求,根据脚本内容做出相应操作,返回r...

ST_君华的博客 3205

毕设加分项!手把手教你完成基于YOLOv8与PyQt5的多类别目标检测系统——让你的毕设从“完成”到“出色”

从KITTI数据集处理,到YOLOv8模型训练,再到PyQt5界面开发,整个流程其实没有想象中那么难。只要你跟着步骤一步步来,不仅能顺利完成毕设,还能掌握目标检测和GUI开发的核心技能——这些技能在未来的求职、读研中都非常实用。如果过程中遇到问题,别担心!可以去YOLOv8的官方文档、PyQt5论坛找答案,也可以和同学、老师交流。记住,完成毕设的过程也是你技术成长的过程,坚持下去,你会为自己的成果感到自豪。

m0_71589036的博客 179

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

浅谈Appium工作原理

一、 Appium简介 Appium是一个开源工具,可用于在iOS、Android和Windows上实现本机、移动网络和混合应用程序的UI自动化测试,使用WebDriver协议驱动iOS,Android和Windows应用程序。 二、 Appium特点 开源免费。 跨平台:允许使用相同的API针对多个平台(iOS、Android、Windows)编写测试脚本。 支持多种类型:可以测试原生的、混合的、以及移动端的web项目。 支持多种编程语言:可以用任何编程语言编写的Appium客户端向Appium服务端发

panshao521_的博客 694

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Appium工作原理

Appium底层原理

honhonhulala的博客 427

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android appium 原理,天天使用Appium,但是你真的理解Appium的工作原理吗

原标题:天天使用Appium,但是你真的理解Appium的工作原理吗预约直播间,????《今天终于理解了Cookie、Session和Token》现在移动端电子产品盛行,操作简单,方便,地铁,路上,餐厅...各种公众场合,放眼望去,大家都几乎一个姿势,手里拿着手机,这样我们的各种各样的手机app也就都应运而生,那么作为测试的我们,当然我们也需要紧跟时代的潮流, 学习app的自动化测试也是势在必行的事情,...

weixin_36354355的博客 309

整理下selenium,Appium的工作原理

原理部分总是很迷幻,需要多结合实际使用来理解。 Selenium: client到浏览器的通信有以下: client:python/java脚本 webdriver协议:本质上是一种http协议,但是有自己的规则,即基于json-wire procotol的webdriver协议 webdriver(浏览器驱动):chromedriver...,即测试中用到的各种浏览器驱动 浏览器:chrome... python/java脚本实现了webdriver协议,并向webdriver中的we...

Juicy2015的博客 494

Appium 介绍以及工作原理

目录1、什么是Appium:2、Appium各类组件:3、Appium理念:3、三张图了解 Appium工作原理: 1、什么是Appium: appium是一个移动端的自动化测试框架,可用于测试原生应用、移动网页应用、混合型应用,且可跨平台 ,并支持多种语言。 内容解释: 什么是原生应用(Native App):是在Android、IOS等移动平台上利用提供的开发语言、开发类库、开发工具进行App软件开发。 什么是移动网页应用(Web App):指网页内的应用,类似于基于浏览器访问淘宝、微博等应用。

weixin_45663027的博客 6171
上一篇: matplotlib 知识点:绘制饼图 matplotlib.pyplot.pie( )
下一篇: 网络安全之sql注入测试——sqlmap的使用实例
晴时初遇雨
博客等级 码龄7年 1253粉丝 72原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值