【2023最叼教程】Appium自动化环境搭建保姆级教程

news2024/11/24 5:43:09

APP自动化测试运行环境比较复杂,稍微不注意安装就会失败。我见过不少朋友,装了1个星期,Appium 的运行环境还没有搭好的。

搭建环境本身不是一个有难度的工作,但是 Appium 安装过程中确实存在不少隐藏的比较深的坑,如果一不小心踩中了其中的一个,那可能会花费比较长的时间来解决。

今天九柄出一个 Appium 安装的详细教程,只要你照着这个做,并且注意我标出来的每一个注意事项,就可以轻松地装好 Appium 运行环境。

我们以安卓自动化测试环境为例,APP自动化测试需要安装的环境主要有以下几个:

  1. Appium 服务;
  2. Appium 客户端;
  3. Java JDK
  4. Android SDK
  5. 手机

1. 安装 Appium 服务

Appium 服务安装有 2 中形式:带 GUI 界面版和命令行版本。界面版和命令行版在功能上没什么区别,只是它带了操作界面,可以让你比较方便的填写Appium运行的参数。

直接找到 Appium GitHub下载地址,选择操作系统的版本。如果你的操作系统是windows,那你就直接选择 windows的安装包,如果你的操作系统是MAC就选择对应的MAC安装包。因为九柄的电脑是windows系统,所以就以windows来演示吧的。GitHub 在国内的下载速度比较慢,可能需要等几个小时,如果你没有「快速访问GitHub」的条件,可以直接私信我,我把我本地的安装包发给你

安装包下载完成之后,我们直接点击安装,这儿需要注意一个问题,在安装的时候选择只给本人安装,而不要选择 All Users,否则后面可能你会因为权限的问题而导致APP的运行失败。

安装完成之后,我们直接打开对应的Appium图标,然后点击开启服务。此时APP会监听一个本地的端口,默认是 4723 端口,你可以自己修改成其他没有被占用的端口号。等有新的操作指令进来之后,Appium服务会转发这些操作指令到连接的手机。

命令行版本的 Appium 首先需要安装 Node.js 的运行环境,直接打开 Node.js官网下载 LTS 长期支持版。下载完成后,指定目录安装,并且记住安装路径,把 Node.js 的执行路径设置到电脑的环境变量 Path 中。

在配置好 Path 环境变量后,接下来使用 Node.js 的包管理工具 npm 安装 Appium 命令行工具。 npm 不需要单独安装,装好 Node.js 之后,可以直接使用。

npm install -g appium
复制代码

Appium 安装完成之后,我们可以直接在命令行当中输入appium启动服务。命令行提供了很多运行参数,可以使用 -p 修改服务监听的端口,也可以将运行日志保存到指定的文件路径可以直接通过 --help 获取每一个命令行参数的说明。

C:\Users\jiubing>appium -p 4444
[Appium] Welcome to Appium v1.22.0
[Appium] Non-default server args:
[Appium]   port: 4444
[Appium] Appium REST http interface listener started on 0.0.0.0:4444
复制代码

2. 安装 Appium 客户端

Appium 客户端安装相对来说比较简单,它支持主流的编程语言,九柄目前用的是Python语言,所以我们直接安装 Python的客户端,打开命令行工具,使用 Python 的包管理工具完成 Appium 客户端的安装。

pip install Appium-Python-Client
复制代码

3. 安装 Java JDK

Appium 需要 Java 8 以上的开发环境,我们在 Oralce 官网能直接下载到,最新的版本是 8u202。由于网络影响,你可能无法正常进入oracle官网下载,那么你可以选择通过国内镜像下载也是可以的,我经常会通过华为镜像地址下载,下载后点击安装,设置好安装路径。

JDK 下载安装好后,同样需要配置环境变量。打开环境变量设置窗口,开始菜单 -> 右键计算机 -> 系统属性 -> 高级系统设置 -> 高级 -> 环境变量。

点击新建,变量名填 JAVA_HOME, 变量值是 JDK 的安装目录。在弹出框中变量值填写 JDK 安装的根目录,即上面记录下来的 C:\Program Files\Java\jdk1.8.0_141),如下图示:

在系统变量找到 Path 变量,点击新建,增加配置 %JAVA_HOME%\bin,点击确认,重启电脑,让环境变量生效。

打开 Windows 的 cmd 窗口,输入 Java 命令查看是否正确安装。 如果安装没问题,会显示正常的版本,否则会提示错误。

C:\Users\jiubing>java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
复制代码

4. 安装 Android SDK

目前安卓的运行环境主要集成在一个叫做 Android Studio 的软件当中,这个软件非常的庞大,是用于安卓软件的集成开发环境。

这个软件非常吃内存,作为自动化测试,也不会用到里面的巨大多数功能,所以我们会尝试更轻量级的ADT Bundle,号称安卓的新手开发礼包,这里面提供了必要的安卓运行需要的工具以及环境。

官网下载地址:linux 64 bit、linux 32 bit、MacOS X、Win32、Win64

国内下载地址,都是免安装版本,直接解压放到目录下就可以。如果觉得麻烦,也可以私信我领取最新的版本,我下载好的升级到了最新的系统版本工具。

安卓环境和 JDK 一样,也需要配置环境变量。解压完成后进入到对应的 adt-bundle-windows-x86_64-20140702\sdk\platform-tools 目录,这个目录有存放 appium 自动化所需要的相关组件和工具,接下来我们需要来将platform-tools这个目录配置到系统环境变量中,方便全局使用。

进入到系统环境变量设置中 -> 新建 ANDROID_HOME,变量值为你的 SDK 对应的目录,比如我的 ADT 软件包解压之后是在 D 盘,那么 SDK 对应的目录就是:D:\adt-bundle-windows-x86_64-20140702\sdk

接下来我们把 SDK 对应的 platform-tools 目录以及 tools 配置到系统变量 Path 里面去:Path 里面点击新建,添加%ANDROID_HOME%\platform-tools 以及 %ANDROID_HOME%\tools2 个变量,其他需要用到的可以自行添加。设置好,重启电脑让环境变量生效。打开系统的 cmd 窗口输入 adb version 来检测是否安装成功。

5. 手机连接

手机可以是模拟器、真机和云设备。

如果你只是个人使用,不太方便把自己的真机做成测试机来使用,那么我建议大家安装模拟器,目前来说在国内手机模拟器非常非常多,常用的有雷电、夜神、逍遥、网易 mumu 以及腾讯手游助手等等。

任何一个公司的模拟器都是可以满足自动化测试的需求,设置上会稍微有一点区别,不过不明显。目前来说,我会使用雷电模拟器跟大家演示。(如果会鼓捣,官方的模拟器更清爽,启动也更快)

直接从雷电的官网下载最新的模拟器版本,然后像安装其他普通软件一样安装,安装完成之后,打开命令行工具,然后在命令行当中输入 adb devices,如果能够正常发现模拟器,那么就会显示以下信息。

C:\Users\jiubing>adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
emulator-5554   device
复制代码

6. 总结

到这里,Appium 运行环境就设置好了,注意事项再提醒一下。

1、Appium 服务分为界面版和命令行版本,新手可直接使用界面版,上手快一些,Appium 下载的速度非常慢,自备工具或者做伸手党,向别人要也可以。

2、SDK 和 ADT Bundle 都需要设置环境变量,设置完成后重启电脑。

3、不管是模拟器还是真机,都需要被 adb 命令识别到。


如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于想做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……

ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÂ¥ÃÃÃÃÃÃÃÃÃÃÃÃÃÃèÃÃÃÃÃÃÃÃÃÃÃÃÃÃèÃÃÃÃÃÃÃÃÃÃÃÃÃÃÿÃÃÃÃÃÃÃÃÃÃÃÃÃÃéÃÃÃÃÃÃÃÃÃÃÃÃÃÃæÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÂ¥ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÂ¥ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÂ¥ÃÃÃÃÃÃÃÃÃÃÃÃÃÃþÃÃÃÃÃÃÃÃÃÃÃÃÃÃçÃÃÃÃÃÃÃÃÃÃÃÃÃÃæÃÃÃÃÃÃÃÃÃÃÃÃÃÃèÃÃÃÃÃÃÃÃÃÃÃÃÃÃÿÃÃÃÃÃÃÃÃÃÃÃÃÃÃð

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/599914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编程(38)----------计算机的部分原理

本篇主要总结一些计算机的理论部分. 计算机在发展历程中,无论是最早的巨无霸机器,还是现在小到可以拿在手中的掌机.只要其本质上是计算机,在最基础的结构上,都是以冯诺依曼体系所构建的. 冯诺依曼体系大致将计算机分为几个最重要的部分:输入,输出,中央处理器,存储设备.也就是…

Meta Quest 3发布:超越虚拟现实全新境界

2023年6月2日凌晨,全球领先的虚拟现实技术公司Meta隆重推出了Meta Quest 3无线头戴式显示器。这款全新设计的头戴设备从内到外焕然一新,为用户提供了全方位的体验。 借助全新一代骁龙芯片,Meta Quest 3拥有比Quest 2更高两倍的GPU处理能力&am…

VanillaNet详解:极简的网络模型

VanillaNet详解:极简的网络模型 0. 引言1. 网络结构2. 如何提高简单网络的非线性2.1 深度训练策略2.2 基于级数启发的激活函数3. 实验4. 代码解析总结 0. 引言 深度学习模型架构越复杂越好吗? 自过去的几十年里,人工神经网络取得了显著的进…

chatgpt赋能python:Python在硬件开发中的作用

Python在硬件开发中的作用 随着物联网的快速发展,越来越多的硬件设备需要与互联网连接。Python在硬件开发过程中扮演着重要的角色。 Python的优势 作为一种高级编程语言,Python有以下几个优势: 简单易学:Python的语法简洁清晰…

chatgpt赋能python:Python做网页可以直接访问吗?

Python做网页可以直接访问吗? Python作为一门功能强大的编程语言,近年来在Web开发中也越来越受欢迎。很多人或企业都采用Python来开发网站和网页,那么问题来了,Python做的网页能否直接被搜索引擎访问和索引呢? Pytho…

MySQL5-事务隔离级别和锁机制

❤️ 个人主页:程序员句号 🚀 支持水滴:点赞👍 收藏⭐ 留言💬关注 🌸 订阅专栏:MySQL性能调优 原创博文、基础知识点讲解、有一定指导意义的中高级实践文章。 认真或有趣的技术分享。 该专栏陆…

【数据结构】数据结构与算法基础 课程笔记 第七章 查找

🚀Write In Front🚀 📝个人主页:令夏二十三 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:【数据结构】 💬总结:希望你看完之后,…

Emacs之解决gtags -i --single-update占用率100%卡死问题(一百零六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

python --自动化测试UiAutomator2

安装adb 安装adb后使用命令 adb devices 出现下图即可; 安装python依赖(uiautomator2,weditor) pip install uiautomator22.16.23 weditor0.6.8 -i https://pypi.doubanio.com/simple# 在手机上安装 atx-agent 应用 # 安装apk服务到手机上 python -m uiautomator2 init脚本…

基于 Docker 部署 Mysql8.0.27_单机_主从复制

文章目录 单机部署集群部署master 部署slave 部署错误记录 单机部署 通过 dockerhub 或 docker search 查找镜像。拉取 mysql 镜像。 docker pull mysql:8.0.27创建挂载目录,并赋予权限。 mkdir -p /var/docker_data/mysql/data mkdir -p /var/docker_data/mysql/co…

一些关于c++的琐碎知识点

目录 bool强转 const构成重载:const修饰*p 移动构造 new int (10)所做的四件事 this指针---为什么函数里面需要this指针? .和->的区别 new创建对象 仿函数 new和malloc的区别 c系统自动给出的函数有 delete和delete[ ]区别何在 检查有没有析构函数 e…

六一,用前端做个小游戏回味童年

#【六一】让代码创造童话,共建快乐世界# 文章目录 📋前言🎯简简单单的弹球游戏🎯代码实现📝最后 📋前言 六一儿童节。这是属于孩子们的节日,也是属于我们大人的节日(过期儿童&…

chatgpt赋能python:**Python免费编辑器:提高开发效率和便捷性**

Python 免费编辑器:提高开发效率和便捷性 Python 编程语言已经成为了越来越多开发者的首选。这是因为 Python 语言非常直观易懂,同时也拥有庞大的第三方开源库,方便开发人员快速实现项目功能。Python 编程之所以如此受欢迎,除了这…

Java基础编程

Java入门 1. JDK的安装目录介绍 目录名称说明bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。conf该路径下存放了JDK的相关配置文件。include该路径下存放了一些平台特定的头文件。jmods该路径下存放了JDK的各种模块。legal该路径下存放了JDK各模块的授权文…

使用kettle进行数据统计

1.使用kettle设计一个能生成100个取值范围为0到100随机整数的转换。 为了完成该转换,需要使用生成记录控件、生成随机数控件、计算器控件及字段选择控件。控件布局如下图所示 生成记录控件可以在限制框内指定生成记录的个数,具体配置如图所示 生成随机数…

chatgpt赋能python:Python免费教学:让编程更便捷

Python免费教学:让编程更便捷 Python是一门广泛应用于机器学习、数据分析、网络编程和自动化测试等领域的高级编程语言。随着人工智能和大数据分析的兴起,Python的应用广泛受到了各个行业的欢迎,越来越多的人开始学习Python。在这篇文章中&a…

STM32之任务的创建与删除

目录 1. 什么是任务? 2. 任务创建与删除相关函数 任务动态创建与静态创建的区别: xTaskCreate 函数原型 官方案例: vTaskDelete 函数原型 3. 实操 1. 什么是任务? 任务可以理解为进程 / 线程,创建一个任务&#…

【生物力学】《人体骨肌系统生物力学》- 王成焘老师 - 第2章 - 人体几何学测量与仿真建模

第1章回到目录第3章 文章目录 2.1 概论2.2 人体几何学测量2.2.1 人体外部几何形态2.2.2 人体尺寸测量与统计处理2.2.3 中国人体尺寸标准统计测量数据2.2.4 人体各部位比例及人体间尺寸换算2.2.5 人体活动范围测量 2.3 人体骨肌系统三维几何建模的数据来源2.3.1 冷冻切片数字摄像…

“微商城”项目(2准备工作)

一.安装Node.js 本项目使用Vue.js前端框架进行开发,在创建项目之前需要先下载Node.js环境。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它可以让JavaScript运行在服务器端。接下来对Node.js的下载和安装进行详细讲解。 打开Node.js官方网站&a…

RabbitMQ高频面试题

RabbitMQ的使用场景 异步发送消息(验证码、短信、邮件…)mysql、redis、es之间的数据同步分布式事务削峰填谷… 面试题:RabbitMQ如何保证消息不丢失 消息丢失原因 生产者发送的消息未到达交换机交换机未把消息路由到队列mq服务器宕机&…