技术分享 | Appium环境安装与架构介绍
Appium架构
Appium 设计哲学
不需要为了自动化而重新编译或修改被测应用
不应该让移动端自动化测试限定在某种语言或者某个具体的框架
不要为了移动端的自动化测试而重新造轮子
移动端自动化测试应该是开源的
Appium 架构
Appium 架构图如下:
Appium 的核心是一个 Web 服务器,提供了一套 REST 的接口,接收到客户端的连接,监听到命令,在移动设备上执行这些命令,将执行结果放在 HTTP 响应中返还给客户端。
事实上,这种客户端/服务端的架构给予了许多的可能性。可以使用任何实现了该客户端的语言来写测试代码,可以把服务端放在不同的机器上,可以只写测试代码,然后使用服务来执行命令。
对于 Android、iOS 底层使用了不同的工作引擎驱动实现自动化测试。Appium 引擎列表:
Appium 支持的语言
Appium 支持如下语言编写测试用例:
Appium 环境安装
Appium Windows 版本只支持 Android 系统,Appium Mac 版同时支持 Android 系统 和 iOS 系统。这里只介绍 MacOS 系统的安装。
Appium 环境依赖
软件列表:
1. Java 1.8
2. Android SDK
3. Appium Desktop
其中 Java 推荐使用 1.8 版本。Android SDK 是 Android 系统的开发工具包,里面有很多自动化测试常用的工具。Appium Desktop 提供了服务与录制功能。
下面开始进行环境安装,以下环境变量的配置,需要打开 MacOS 系统中的 terminal 终端来完成,环境变量可以配置在 ~/.bash_profile 下。如果您使用的是 oh-my-zsh,则需要配置环境变量到 ~/.zshrc 下。
详细安装参见测试人论坛:
https://ceshiren.com/t/topic/4004
Appium 客户端安装(Python版本)
如果想要在代码中能够相关包,需要安装第三方库:
pip install Appium-Python-Client
Appium 客户端安装(Java版本)
当使用 Maven 或 Gradle 等构建工具时,会自动加载依赖项。
<properties>
...
<!-- 尽可能使用最新版本 -->
<appium.version>7.3.0</appium.version>
...
</properties>
<dependencies>
...
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>${appium.version}</version>
</dependency>
...
</dependencies>
️ 你好呀,喜欢这篇文章的话烦请点个“赞”哦!万分感谢~(▽) PS:有问题可以联系我们哦~v ceshiren001
技术分享 | Appium环境安装与架构介绍的更多相关文章
- mac for appium环境安装
之前写过windows 安装appium环境步骤. 1. 需求的前置条件如下 (mac 自动git.ruby.brew命令): 2. java 环境 3. git 环境 4. ruby环境 5. b ...
- Appium环境安装步骤 + 代码验证环境是否成功
1.安装Microsoft .NET Framework 4.5 检测本机已安装的程序中,是否已经安装Microsoft .NET Framework 4.5及以上的版本. 如下图所示: 如果没有 ...
- 技术分享 | Appium 用例录制
原文链接 下载及安装 下载地址: https://github.com/appium/appium-desktop/releases 下载对应系统的 Appium 版本,安装完成之后,点击 " ...
- Python环境安装及IDE介绍
因为最近时间比较松散,公司的业务也不多,所以想趁机赶紧投入到人工智能的学习大业当中.经过多次比较,看到目前市面上还是使用Python做为基础语言较多,进儿学习算法.人工智能组件.机器学习.数据挖掘等课 ...
- python自动化测试之appium环境安装
1.安装client pip install Appium-Python-Clinet 若有两个版本的python则使用(python3 -m pip install Appium-Python-C ...
- appium 环境安装指引
1.安装Appium-Python-Client Pip install Appium-Python-Client 2.安装nodejs https://nodejs.org/ 安装成功验证:node ...
- App自动化测试之Appium环境安装(涉及雷电模拟器和真机)
1.安装Microsoft .NET Framework 4.5 及以上版本 2.安装Appium 官方网站地址:http://appium.io/ 我装了1.17.0版本 3.安装JDK 1.8及以 ...
- 1、python环境安装及软件介绍
软件: python3.0 下载地址:https://www.python.org/downloads/windows/ pycharm 下载地址: https://www.jetbrains.com ...
- Appium环境安装
Appium 是开源的.跨平台的.多语言支持的 移动应用 自动化工具 原生app,如计算器 混合(Hybrid)app 内嵌web + 原生 移动 web app 手机浏览器打开的网址 安装appiu ...
随机推荐
- FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言
之前文章分享FastAPI(七十二)实战开发<在线课程学习系统>接口开发-- 留言列表开发,这次我们分享如何回复留言 按照惯例,我们还是去分析这里面的逻辑. 1.判断用户是否登录 2.用户 ...
- 不同标准下的C语言常量范围的默认类型的检测 (测试样例为C90与C99)
不同标准下的C语言常量范围的默认类型的检测 一.C90与C99标准下的不同常量范围的默认类型 C90标准下对不同常量范围默认类型的检测实现及运行结果: C99标准下对不同范围默认类型的检测实现 ...
- 为什么HashMap使用红黑树而不使用AVL树
为什么HashMap使用红黑树而不使用AVL树? 红黑树适用于大量插入和删除:因为它是非严格的平衡树:只要从根节点到叶子节点的最长路径不超过最短路径的2倍,就不用进行平衡调节 AVL 树是严格的平衡树 ...
- linux添加磁盘及分区挂载
磁盘管理 1.为什么要添加磁盘 随着系统的使用,磁盘的内容会越来越少,所以这时要添加磁盘增加空间 Linux系统中磁盘管理就是将硬盘通过挂载的方式挂载到linux文件系统中. 2.系统添加磁盘并分区 ...
- 学习day44
初步学完html的知识
- 共读《redis设计与实现》-数据结构篇
准备将之前攒下的书先看一遍,主要是有个大概的了解,以后用的时候也知道在哪里找.所以准备开几篇共读的帖子,激励自己多看一些书. Redis 基于 简单动态字符串(SDS).双端链表.字典.压缩列表.整数 ...
- 项目完成 - 基于Django3.x版本 - 开发部署小结
前言 最近因为政企部门的工作失误,导致我们的项目差点挂掉,客户意见很大,然后我们只能被动进入007加班状态,忙得嗷嗷叫,直到今天才勉强把项目改完交付,是时候写一个小结. 技术 因为前期需求不明确,数据 ...
- spring boot的配置文件
1.SpringBootApplication是标志启动类,启动后可以把这个类所在的包资源发布到服务器,不用再启动tomcat 2.利用spring boot工程可以和以前一样直接在Controlll ...
- Python学习之路——类-面向对象编程
类 面向对象编程 通过类获取一个对象的过程 - 实例化 类名()会自动调用类中的__init__方法 类和对象之间的关系? 类 是一个大范围 是一个模子 它约束了事务有哪些属性 但是不能约束具体的值 ...
- XCTF练习题---WEB---baby_web
XCTF练习题---WEB---baby_web flag:flag{very_baby_web} 解题步骤: 1.观察题目,打开场景 2.观察题目内容,想想初始页面是哪个,再看看URL,尝试输入in ...