【Andriod】Appium的不同版本(Appium GUI、Appium Desktop、Appium Server )的安装教程

news2024/12/23 6:43:53

文章目录

  • 前言
  • 一.Appium GUI
  • 二.Appium Desktop
  • 三.Appium Server 命令行版本
    • 1.安装node.js
    • 2.安装Appium Server

前言

Appium 安装提供两2方式:桌面版和命令行版。其中桌面版又分为 Appium GUI Appium Desktop

  • 建议:使用Appium Desktop

一.Appium GUI

Appium 最先发布的桌面版本,将 Appium 的核心 Server 进行封装提供了图形界面,对初学者比较友好。

目前该项目已经很久没有维护了,针对 Windows 平台最新的版本是 AppiumForWindows_1_4_16_1,里面封装的 Appium server 为 1.4.16

  • 针对 Mac 平台最新的版本是 appium-1.5.3,里面封装的 Appium server 为 1.5.3
    • 如果要使用较新的 Appium server 显然该项目不满足,所以此版本不推荐。
  • 下载地址:https://bitbucket.org/appium/appium.app/downloads/

二.Appium Desktop

Appium GUI 的替代项目,它封装了运行 Appium 服务端的所有依赖,目前该项目持续在维护中。一般 Appium server 更新之后 Appium desktop 也会有对应新版本发布出来。所以强烈建议初学者选择 Appium-desktop,并且安装也非常的容易。

  • 下载地址:https://github.com/appium/appium-desktop/releases

  • 注:此处安装的是Appium Desktop的1.3.1版本

在这里插入图片描述

三.Appium Server 命令行版本

Appium 的核心就是 Appium Server,使用 node.js 语言实现,所以在安装 Appium Server 命令行版本之前我们需要先安装配置 node.js。Appium 命令行版本安装相较于 Appium 图形化版本要复杂很多,建议初学者先安装桌面版本练习,后续再使用命令行版本。

1.安装node.js

下载地址 https://nodejs.org/en/download/current
在这里插入图片描述

  • 下载后进行安装,此处选择D盘为安装路径
    在这里插入图片描述
    在这里插入图片描述
    选择安装路径
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 安装完成,打开 cmd 窗口,输入 node -v 以及 npm -v 检测(npm 是 node.js 自带的包管理器
    在这里插入图片描述
  • 指定npm安装的全局模块和缓存的路径,如果不指定默认会安装到 C 盘中“C:\Users\用户名\AppData\Roaming\npm
    1. 在nodejs目录下新建node_cachenode_global目录
      在这里插入图片描述

    2. 在cmd窗口中输入如下命令:

      			npm config set prefix "D:\nodejs\node_global"npm config set cache "D:\nodejs\node_cache"
      
    3. 配置node.js环境变量

      1. 在系统变量中新建NODE_PATH变量名,变量值为 D:\nodejs\node_global\node_modules
      2. 在系统变量"Path"中追加%NODE_PATH%
      3. 将用户变量Path中原来的C:\Users\Administrator\AppData\Roaming\npm修改为D:\nodejs\node_global
        • 注:若没有就直接在Path中新建"D:\nodejs\node_global"

2.安装Appium Server

  1. 设置npm淘宝镜像地址,执行如下命令:

    npm config set registry https://registry.npm.taobao.org
    #如果安装指定版本(比如1.17.1),使用如下方式:
    npm install appium@1.17.1 -g
    
  2. npm通过全局方式安装Appium Server(默认下载安装最新版本Appium)**

    npm install appium-doctor -g
    
    • 执行appium-doctor,出现如下提示表示Appium环境OK
  3. 安装appium-doctor(用来检测appium所需环境依赖,包括node.js、Android SDK、JDK)
    在这里插入图片描述

  4. 启动Appium Server 直接在cmd窗口输入“appium”即可启动Appium Server:

    • 输入appium -g xxx.log 启动并输出日志文件
      在这里插入图片描述

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

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

相关文章

ubuntu安装Anaconda

下载 Anaconda 进入 Ubuntu,自己新建下载路径,输入以下命令开始下载 注意,如果不是 x86_64,需要去镜像看对应的版本(https://mirrors.bfsu.edu.cn/anaconda/archive/?CM&OA) wget https://mirrors.…

【Java 进阶篇】深入了解 Bootstrap 表格和菜单

表格和菜单是网页设计中的重要组成部分,它们用于展示数据、导航和用户交互。Bootstrap 是一个强大的前端框架,提供了丰富的表格样式和菜单组件,使开发者能够轻松创建功能丰富的网页。在本文中,我们将深入探讨 Bootstrap 中表格和菜…

火热的“出海潮”背后,你还应该知道些什么?

点击文末“阅读原文”即可报名参会 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 声湃轩北京录音间 联合制作 / RTE开发者社区 过去几十年,入华的科技企业“走进来”,加速了国内企业的数…

VM虚拟机创建centos7 64位系统提示此主机不支持64位客户机操作系统,此系统无法运行

VM虚拟机创建centos7 64位系统提示此主机不支持64位客户机操作系统,此系统无法运行 背景解决方案 背景 本身系统是window10 64位专业版系统,理论上不应该不支持64位的。 解决方案 最近安装docker开启了虚拟化hyper-v,关闭即可。 打开cmd(…

Vue中的v-if和v-show指令有什么区别?

在Vue中,v-if和v-show是两个常用的指令,用于根据条件控制元素的显示和隐藏。虽然它们都可以根据条件来切换元素的可见性,但它们的实现和行为有一些区别。 1:编译时机: v-if是在编译阶段进行条件判断,如果条件为false,则在DOM中不会渲染该元素及其子元素;v-show则是在运…

MongoDB深度学习

MongoDB的简介 什么是MongoDB? MongoDB是一个基于分布式文件存储的数据库,由C语言编写。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,它支持的数据结构非常松散&…

解码eBPF可观测性:eBPF如何改变我们所知的观测性

让我们来看看eBPF——这项技术到底是什么,它如何影响观测性,它与现有的观测性实践有什么区别,未来可能会发生什么变化? 在过去的两年里,云原生社区一直在热烈讨论eBPF。eBPF曾是KubeCon、eBPF Days和eBPF Summit的主题…

SystemVerilog Assertions应用指南 Chapter 1.17使用参数的SVA检验器

1.17使用参数的SVA检验器 SVA允许像 Verilog那样在检验器中使用参数( parameter),这为创建可重用的属性提供了很大的灵活性。比如,两个信号间的延迟信息可以在检验器中用参数表示,那么这种检验器就可以在设计只有时序关系不同的情况中重用。例子1.2显示了个带延迟默…

【C++】一些C++11特性

C特性 1. 列表初始化1.1 {}初始化1.2 initializer_list 2. 声明2.1 auto2.2 typeid2.3 decltype2.4 nullptr 3. STL3.1 新容器3.2 新接口 4. 右值引用5. 移动构造与移动赋值6. lambda表达式7. 可变参数模板8. 包装器9. bind 1. 列表初始化 1.1 {}初始化 C11支持所有内置类型和…

Spring中自定义类型转换器

目录 一、什么是类型转换器 二、自定义类型转化器 2.1 实现Converter接口 2.2 在Spring中注册 三、自定义类型转换器中的细节 3.1 解决代码的耦合 3.2 注册标签id值必须唯一 ​3.3 Spring提供的日期转换器 一、什么是类型转换器 在Spring中类型转换器就是将配置文件中的字符串…

力扣一.链表的运用

一.合并生序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 输入:l1 = [], l2 = [] 输出:[] 输入:l1 = [], l2 = [0] 输出:[0]提示: 两个链表的…

【【萌新的FPGA学习之管脚设定xdc文件】】

萌新的FPGA学习之管脚设定xdc文件 xdc文件可以自己设置 也可以匹配 我们根据正点原子的流水灯管脚设定 主要讲述一下 各个英文设计是什么意思 Name:工程中顶层端口的名称。 Direction:说明管脚是输入还是输出。 Neg Diff Pair:负差分对&…

YOLOv5/v7/v8改进实验(三)之训练技巧篇

🚀🚀 前言 🚀🚀 YOLO系列是一种目标检测算法,具有高效的实时性能和较高的准确性。一些常用的YOLO训练技巧往往可以帮助提高模型的性能和收敛速度。而这些技巧在YOLOv5、YOLOv7和YOLOv8几乎通用。 🔥&#…

CUDA编程入门系列(十一)CUDA程序优化技巧

优化原则:最大化并行执行 探索并行化: 优化线程块的规模 我们在设计CUDA程序的时候,要对线程块的个数进行考虑。因为GPU中流处理器SM的数量是相对固定的,所以我们应该尽量的将多个block放到同一个SM当中(至少保证每个…

三、信号与槽

1. 信号槽的定义 信号函数和槽函数是Qt在C的基础上新增的功能,功能是实现对象之间的通信。 实现信号槽需要有两个先决条件: 通信的对象必须是从QObject派生出来的 QObject是Qt所有类的基类。 类中要有Q_OBJECT宏 2. 信号槽的使用 2.1 函数原型 最常…

免费SSL证书:JoySSL让您的网站更安全

在今天的数字化时代,保护网站和用户信息的安全至关重要。SSL(Secure Sockets Layer)证书通过加密网站与用户之间的通信,确保数据传输的安全性。让您拥有一个SSL加密的网站是至关重要的,但您可能会担心高昂的费用。不过…

秦丝科技“羽”深大计软学院同行,共庆深圳大学成立40周年

2023年10月21日, 由深圳大学工会主办 , 深圳大学体育学院 、深圳大学后勤部、丽湖校区管委会等单位协办的深圳大学2023年教职工羽毛球联赛-第一场正式举办; 由深圳市秦丝科技有限公司联合头部商户共同赞助的计算机与软件学院取得首场胜利&…

花生好车基于 KubeSphere 的微服务架构实践

公司简介 花生好车成立于 2015 年 6 月,致力于打造下沉市场汽车出行解决方案第一品牌。通过自建直营渠道,瞄准下沉市场,现形成以直租、批售、回租、新能源汽车零售,四大业务为核心驱动力的汽车新零售平台,目前拥有门店…

java基础--transient关键字减少序列化

前置内容 1.序列化 今天在看ArrayList源码的时候看到了这个,我之前应该是看过的,但是忘记了。现在在总结一下。 transient 用在类的属性上,不能修饰其他的。 作用:在序列化的时候transient修饰的属性不能被序列化 用途 在一些…

力扣:盛最多水的容器

题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 …