技术分享 | Appium环境安装与架构介绍

简介: 技术分享 | 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
> 你好呀,喜欢这篇文章的话记得点个“赞”哦!大家的支持很重要~(*^▽^*)   PS:有问题可以联系我们哦~v ceshiren001

> https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=Aliyun&timestamp=1653982315&author=QY

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>
相关文章
|
6月前
|
缓存 C语言 计算机视觉
程序与技术分享:CPU0处理器的架构及应用
程序与技术分享:CPU0处理器的架构及应用
|
6月前
|
网络协议 安全 分布式数据库
技术分享:分布式数据库DNS服务器的架构思路
技术分享:分布式数据库DNS服务器的架构思路
123 0
|
7月前
|
存储 NoSQL Redis
陌陌技术分享:陌陌IM在后端KV缓存架构上的技术实践
在本文中,陌陌数据库负责人冀浩东将聚焦探讨陌陌的 KV 系统架构选型思路,深入解析如何进行此类系统的甄选决策,同时进一步分享陌陌团队在采用 OceanBase(OBKV)过程中所经历的探索与实践经验。
152 0
|
弹性计算 Java 芯片
技术分享 | 软件跨架构迁移(X86->ARM)的原理及实践
针对阿里云倚天实例的软件迁移,阿里云为开发者提供了迁移工具EasyYitian和性能调优工具KeenTune,能够帮助用户解决软件迁移评估分析过程中人工分析投入大、准确率低、代码兼容性人工排查困难、迁移经验欠缺、反复依赖编译调错定位等痛点,实现业务在ARM ECS的快速适配。EasyYitian支持主流开发语言,通过系统自动化扫描可以一键生成分析报告。KeenTune通过AI算法与专家知识库的有效结合,为软件应用提供动态和静态协同调优的能力。
技术分享 | 软件跨架构迁移(X86->ARM)的原理及实践
|
存储 弹性计算 编解码
技术分享 | 云原生算力时代-倚天实例技术架构与最佳实践解析
阿里云倚天实例基于平头哥半导体自研倚天710云原生处理器,倚天710使用ARMv9架构,采用业界领先的工艺设计,单芯片容纳高达600亿晶体管,内含128核CPU核心,主频2.75GHz,能同时兼顾性能和功耗。同时得益于阿里云自研的CIPU处理器以及飞天云计算操作系统,倚天实例实现了芯片、计算架构及操作系统的协同优化,显著提升了算力性价比。目前阿里云倚天实例已经在视频编解码、科学计算、电商等领域得到了广泛的应用。
|
存储 数据采集 消息中间件
微信技术分享:揭秘微信后台安全特征数据仓库的架构设计
本文将介绍微信的安全数据特征仓库的背景起源、技术演进、当前的架构设计和实践,以及数据质量保证系统的实现。希望给中大型IM系统的安全数据特征仓库的设计带来启发。
316 0
|
Java 测试技术 开发工具
Appium环境安装
Appium环境安装
109 0
|
存储 消息中间件 缓存
阿里IM技术分享(十):深度揭密钉钉后端架构的单元化演进之路
今天想借此文和大家分享我们在钉钉单元化架构实施过程中的心路历程和一些最佳实践。因涉及的技术和业务面太广,本文的分享无法做到面面俱到,主要是想在同路人中形成共鸣,进而能复用一些架构或子系统的设计和实现思路。
966 1
阿里IM技术分享(十):深度揭密钉钉后端架构的单元化演进之路
|
存储 运维 监控
SaaS云原生应用典型架构技术分享
SaaS服务没有任何软硬件维护费用,服务模式使用非常灵活,企业花费少量的费用便能享受优质服务,让企业集中资金流进行核心业务探索与运营。SaaS是即下载即使用的服务模式,大大节省了系统构架成本。但SaaS开发过程中的各种问题,如人力成本、多租户管理、高可用、安全性等,让企业在SaaS化转型时有所顾虑。围绕当下许多企业青睐的SaaS应用开发,今天给大家带来主题为《SaaS云原生应用典型架构》技术分享。
700 0
SaaS云原生应用典型架构技术分享
|
存储 运维 分布式计算
技术分享 | 被测系统架构与数据流分析
技术分享 | 被测系统架构与数据流分析