Appium 介绍以及工作原理

article/2025/9/23 8:49:32

目录

  • 1、什么是Appium:
  • 2、Appium各类组件:
  • 3、Appium理念:
  • 4、三张图了解 Appium工作原理:


1、什么是Appium:

appium是一个移动端的自动化测试框架,可用于测试原生应用、移动网页应用、混合型应用,且可跨平台 ,并支持多种语言。

内容解释:

  • 什么是原生应用(Native App):是在Android、IOS等移动平台上利用提供的开发语言、开发类库、开发工具进行App软件开发。
  • 什么是移动网页应用(Web App):指网页内的应用,类似于基于浏览器访问淘宝、微博等应用。是用HTML5应用开发,是利用Web技术进行的App开发。Web技术本身需要浏览器的支持才能进行展示和用户交互,因此主要用到的技术是HTML5、Javascript、CSS等。
  • 什么是混合型应用(Native App + Web App):利用原生与H5的开发技术的混合应用,原生代码部分利用Web View插件或者其它框架为H5提供容器,程序主要的业务实现、界面展示都是利用与H5相关的Web技术进行实现的。
  • 什么是跨平台:针对不同平台(android、IOS),意思是可以针对不同的平台用一套api来编写测试脚本。

- 支持多种语言:支持多种语言,java、python、php、Ruby等等。

2、Appium各类组件:

  • Appium Server:是Appium的服务端,一个web接口服务,使用node.js实现。
  • Appium Desktop:是一款适用于Mac,Windows和Linux的开源应用程序,它以美观而灵活的用户界面为您提供Appium自动化服务器的强大功能。
  • Appium GUI:Appium GUI是Appium desktop的前身。 也就是把Appium server封装成了一个图形界面,降低了使用门槛。
  • Appium Clients:Appium是一个C/S结构,客户端Appium Clients会给服务端Appium Server发送请求会话来执行自动化测试脚本任务。支持多语言,因此有多个版本类型,java版本 python版本等。

3、Appium理念:

Appium 旨在满足移动端自动化需求的理念,概述为以下四个原则:

  • 不应该为了自动化而重新编译你的应用或以任何方式修改它。
  • 不应该被限制在特定的语言或框架上来编写运行测试。
  • 移动端自动化框架不应该在自动化接口方面重造轮子。
  • 移动端自动化框架应该开源,在精神、实践以及名义上都该如此。
  • (真牛逼!)

4、三张图了解 Appium工作原理:

  • appium 1.13版本之后的工作原理:
    在这里插入图片描述
    1、脚本将指令通过4723端口传给appium server服务端
    2、appium server服务端通过8200端口映射,将指令传给手机端6790端口
    3、6790端口通过netty server服务 启动uiautomator来执行处理去操作待测app

  • appium 1.13版本之前工作原理:
    在这里插入图片描述
    1、脚本将指令通过4723端口传给appium server服务端
    2、appium server服务端通过4724端口映射,将指令传给手机端4724端口
    3、4724端口通过socket服务 启动uiautomator来执行处理去操作待测app

  • appium 测试混合app 或者 h5:
    在这里插入图片描述
    1、脚本将指令通过4723端口传给appium server服务端
    2、appium server服务端通过8200端口映射,将指令传给手机端安卓内置的一个 android system webview
    3、android system webview 再去执行处理去操作待测app

想要了解工作原理,appium server日志不能不看!


http://chatgpt.dhexx.cn/article/3RTe8hyB.shtml

相关文章

了解appium自动化的工作原理(uiautomator)

一、Appium加载的过程图解 Appium的原理 WebDriver script:我们的测试脚本(java or python) Appium: 会首先开启一个监听4723端口的server,接收测试脚本发送过来的对应请求,再将对应的请求发送给中间件Bo…

appium自动化的工作原理

appium自动化的工作原理 1. Appium组件 Appium Server Appium是一个C/S结构,包括Server和Client。Appium Server是Appium的服务端,作为一个Web接口服务,使用Node.js实现。 Appium Desktop Appium Server的图像界面,可设置启…

【Appium系列】- 框架原理

目录 简介 Appium支持哪些平台呢? Appium架构 Session Desired Capabilities 简介 Appium是一个跨平台的开源的自动化测试工具,可以用于测试不同类型的移动端应用程序(Appium基础之App类型),这是一个非常优秀好用…

Appium学习日记(一)——Appium工作原理及其主要组件

Appium工作原理及其主要组件 Appium的工作原理(how Appium works) Appium的核心是一个服务器,它侦听符合API规范WebDriver的传入HTTP请求。对于那些过去使用Selenium为基于浏览器的应用程序进行测试自动化的人来说,这听起来可能已经很熟悉了。   WebD…

Appium详解

一、Appium安装 1、安装JDK(1.8.0)并配置环境 1、JDK文件下载安装下载JDK文件,点击运行安装2、配置环境(1)新建一个名为“JAVA_HOME”的环境变量,变量值为JDK的安装路径(2)选择Path…

appium工作原理详讲

appium简介 appium是一个移动端自动化框架,它采用C/S的设计模式,支持多类开发语言(java python js c#…)、支持多平台(ios android),支持跨平台使用(windows linux)。它适用于原生或混合移动应用; appium…

Appium自动化测试基础 — APPium基本原理

1、APPium自动化测试架构 APPium是一个C/S架构的自动化测试框架,APPium的核心其实是一个暴露了一系列REST API的server。(也就是Appium的核心是一个提供了一组REST API的Web服务器。) 这个server的功能其实很简单:监听一个端口&a…

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

目录 1. Appium简介 1.1 Appium的理念 1.2 Appium 的设计 1.3 Appium 的概念 2. Appium原理架构 3. appium的工作流程 4. Appium-Uiautomator2-Server 4.1 Appium-Uiautomator2-Server简介 4.2 appium-uiautomator2-server运行原理 4.3 bootstrap vs appium-uiautoma…

APP自动化测试系列之Appium介绍及运行原理

在面试APP自动化时,有的面试官可能会问Appium的运行原理,以下介绍Appium运行原理。 一、Appium介绍 1.Appium概念 Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。它使用WebDriver协议驱动IOS&#xf…

Appium工作原理

一、Appium工作原理 1、Appium启动的时候,会创建一个http\\127.0.0.1:4723\wd\hub服务端(中转站) 2、4723端口接收client(也就是测试脚本)发来的请求,解析对应的请求 3、appium server把对应的请求发给bootstrap.jar,它…

蓝桥杯C/C++ 基础练习 十六进制转八进制 C语言

题目: 分析: 思路:先将十六进制转为二进制,然后将二进制转为八进制 遇到的问题如下: 1、输入格式和输出格式,决定了需要用数组存储十六进制数、二进制数以及八进制数。由于有多个字符串(多位…

蓝桥杯——十六进制转八进制(Java解法)

这道题其实挺难的,之前做过一次,用的十六进制转化为十进制,然后用十进制再转化为八进制,代码很简单,用的jdk上自带的进制转换进行换算。 import java.util.Scanner; /** * author 作者 E-mail: WYJ 1627407425qq.com…

蓝桥杯-十六进制转八进制(Java)

蓝桥杯-十六进制转八进制(Java) 最近在练习算法题,打算应付一下下学期的蓝桥杯,写写博客记录一下我的学习过程,对算法感兴趣的朋友可以给小编点点关注(重要的事情加上强调标志,o( ̄︶ ̄)o),这个假…

蓝桥杯C语言 十六进制转八进制

十六进制转八进制 思路分析: 39十六进制先转换为4位二进制,3为0011,9为1001,所以39的二进制为00111001,又把二进制转化为3位八进制,从右边开始数,001为1,111为7,所以39的八进制为71。…

十六进制转换八进制

问题描述 给定n个十六进制正整数&#xff0c;输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n &#xff08;1<n<10&#xff09;。   接下来n行&#xff0c;每行一个由09、大写字母AF组成的字符串&#xff0c;表示要转换的十六进制正整数&#xff0…

蓝桥杯练习:C语言十六进制转八进制

这题对我来说是有点难度的,最后做出来,但是提交显示 运行错误,看不出哪里出错了. 我的思路: 将十六进制转化为二进制,二进制最后转化为八进制. 首先将十六进制存入数组,然后将数组中每一位转化为对应的十进制数,之后将再将每一位十进制数转化为二进制数,将这些二进制数以每三…

C语言十六进制转八进制

思路&#xff1a;将十六进制先转为十进制再转为八进制 十六进制转十进制:与二进制转十进制类似。对十六进制每个数从左往右依次乘16的0,1,2,......并相加得到相应的十进制。 比如&#xff1a;对123ABC&#xff0c;1216&#xff08;0&#xff09;1116&#xff08;1&#xff09…

XPC U盘启动盘的制作

XPC U盘启动盘的制作 对于XPC目标机的启动&#xff0c;我们可以通过网络、硬盘或者 U盘启动目标机。这里介绍一下通过U盘的气动&#xff0c;因为这个相对而言比较简单。 选择一个4G以下的U盘&#xff0c;最好为2G选择一台XP系统的电脑&#xff08;最好为工控机&#xff0c;必…

XPC调试记录 :TwinCAT生成XML配置文件

XPC调试记录&#xff1a;生成XML配置文件20210316 1.连接目标控制器 硬件准备&#xff1a;用一根网线将配置有EtherCAT的电脑和EK1100&#xff08;BECOHOFF总线模块&#xff09;网线插槽X2(OUT)相连。&#xff08;正常初始化配置时对应指示灯闪烁&#xff09; &#xff08;1&a…

iOS 冰与火之歌 - 利用 XPC 过 App 沙盒

蒸米是阿里巴巴的移动安全工程师&#xff0c;香港中文大学博士&#xff0c;也是发现并命名了XcodeGhost的人。这次他所在的iOS安全小组发现了影响最新版iOS 9.3的0day漏洞。此漏洞杀伤力巨大&#xff0c;在非越狱手机上一个app应用可以利用这个漏洞做到读取或者修改沙盒外其他a…