【自动化测试基础】Appium自动化环境搭建保姆级教程

news2024/11/18 9:39:10

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 命令识别到。


END配套学习资源分享

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :

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

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

相关文章

开源赋能 普惠未来|腾讯寄语2023开放原子全球开源峰会

腾讯长期秉承科技向善的宗旨,通过通信和社交服务连接全球逾 10 亿人,提供云计算、广告、金融科技等一系列企业服务。 作为开放原子开源基金会(以下简称“基金会”)发起人之一,腾讯坚定拥抱开源,全力支持开…

【最新计算机毕业设计 本科 大专 游戏方向 源码】

2022年 - 2023年 最新计算机毕业设计 本科 大专 游戏方向 源码 下载前必看:纯小白教程,unity两种格式资源的使用方法,1打开现有项目、2导入package 大专毕设源码:数媒专业、计算机专业、电子专业通用50多款大专毕设小游戏【源码】…

转行程序员,自学可以吗?35岁会被裁员吗?

大家好,欢迎来到停止重构的频道。 本期我们聊一些技术以外的分享。 一个非科班出身的人转行程序员难吗? 自学可以吗? 我也不是计算机相关专业毕业的,以下聊的都是我的一些真实经历,希望能给想要进入软件行业的非科班…

Centos7安装下载的mysql8+

1.官网下载 MySQL 安装包 1.1选择版本及下载 1、官网地址 https://dev.mysql.com/downloads/mysql/ 2、选择下载 MySQL 的 Linux 系统版本 Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7 3、选择要下…

51单片机银行自助排队叫号系统VIP热敏打印功能DY-SV17F语音播报

实践制作DIY- GC0138-银行自助排队叫号系统VIP 基于51单片机设计---银行自助排队叫号系统VIP 二、功能介绍: STC89C52最小系统板0.96寸OLED显示器DY-SV17F语音串口语音播报模块DS1302北京时间热敏打印机1个业务选择(取钱或者存钱)1个普通取号…

chatgpt赋能python:Python后门:你需要知道的一切

Python后门:你需要知道的一切 Python是一种广泛使用的编程语言,由于其易学易用、灵活且高效的特点,越来越多的企业和组织采用Python构建应用程序和Web应用。然而,正因为Python的方便性,也使其成为攻击者植入后门程序的…

机器学习 | 聚类问题

一、K均值聚类 这里我们用鸢尾花数据及进行聚类分析,这种含有标签数据的数据集,只要不调用标签数据,就可以为无监督学习所采用。鸢尾花数据具有4个特征,为了可视化这里选取前两个特征进行聚类分析并指定聚为3类。 #导入库 impor…

大型 3D 互动开发和优化实践 | 京东云技术团队

开发背景 得益于“元宇宙”概念在前段时间的爆火,各家公司都推出了使用 3D 场景的活动或频道。 3D 场景相比传统的 2D 页面优点是多一个维度,同屏展示的内容可以更多,能完整的展示物体、商品的信息。 相应带来的缺点是用户使用方式改变&…

yolov8模型训练结果分析以及如何评估yolov8模型训练的效果

1.运行结果目录 一、 confusion_matrix_normalized.png和confusion_matrix.png 混淆矩阵 混淆矩阵以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。其中矩阵的行表示真实值,矩阵的列表示预测值。 TP(True Positiv…

python 创建Django项目基础

一. 安装Django pip install django 默认安装最新版本二. 创建一个Django项目 三、运行项目 创建好Django项目后,我们就可以运行了 使用命令 python manage.py runserver四、目录结构 五、创建一个文件views用来存放方法 在创建的文件中写入以下方法 def sa…

使用GCN根据颗粒图像预测对应性能

之前做一个小实验写的代码,本想创建个git repo,想了想好像没必要,直接用篇博文记录一下吧。 对应资源 : https://download.csdn.net/download/rayso9898/87865298 0. 大纲 0.1 代码说明 dataGeneration.py -> RSA生成n张图像&…

【Springboot】| 阿里云发送短信验证码,你会了吗?

目录 🦁 题外话🦁 需要准备的东西🦁 进入主题1. 添加依赖2. 配置yaml文件3. 创建阿里云客户端4. 编写发送短信方法5. 完整代码展示6. 测试 🦁 场景实操1. 编写生成验证码工具类2. 保存到redis操作3. 编写发送验证码短信4. 发送登录…

大数据:spark共享广播变量,累加器

大数据:共享变量 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sql要学…

三面阿里被挂,竟获内推名额,历经 5 面拿下口碑 offer...

每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例外。但是,BAT 等一线互联网大厂并不是想进就能够进的,它对人才的技术能力和学历都是有一定要求的,所以除了学历以外&a…

STM32单片机WIFI物联网厨房燃气安全系统超声波人员检测MQ4燃气报警

实践制作DIY- GC0140-WIFI物联网厨房燃气安全系统 基于STM32单片机设计---WIFI物联网厨房燃气安全系统 二、功能介绍: 硬件组成:STM32F103C系列最小系统继电器模拟阀门MQ-4然气传感器HSR04超声波测距LCD1602显示器ESP8266-WIFI模块蜂鸣器多个按键 1.有…

MySQL命令行速查手册(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 最近更新时间:2023.6.5 最早更新时间:2023.6.5 每个命令都以;作为结尾(以下localhost都可以替换成实际IP地址)(和’的区别应该不大)用户管理 修改密码:ALTER U…

如何使用Facebook Business Suite来管理你的FB和Ins商业账户

Facebook Business Suite是Facebook推出的一种强大的数字营销工具,可帮助企业轻松管理其在Facebook和Instagram上的商业账户。该工具集成了多种功能,提供了一种简单、直观的方式来管理你的社交媒体营销活动。 在本文中,我们将详细介绍如何优化…

深眸科技基于技术与人才优势,创新研发机器视觉系统赋能工业生产

随着人工智能技术加速进入生产生活,机器视觉系统作为工业发展的刚需,凭借着能够为机器提供视觉,并在众多场景实现柔性化生产应用的能力,逐步被接受和普及,并在工业生产领域发挥巨大作用。 深眸科技作为国家高新技术企…

物流货运车货匹配平台源码

网络货运平台具有较强的信息数据交互和处理能力,能够对托运人,平台运营人,实际承运人,驾驶员的相关方的交易,运输,结算等全过程进行透明,动态的管理,该平台由托运人、实际承运人、司…

ControlNet: Adding Conditional Control to Text-to-Image Diffusion Models

Adding Conditional Control to Text-to-Image Diffusion Models (Paper reading) Lvmin Zhang and Maneesh Agrawala, Stanford University, arXiv, Cited:113, Code, Paper 1. 前言 我们提出了一种名为ControlNet的神经网络结构,用于控制预训练的大规模扩散模型…