Appium2 安装教程

news2024/11/25 18:26:14

目录

第一步:安装 node.js

第二步:安装 Android Studio

第三步:下载 JDK

第四步:安装 Appium

卸载旧版本appium1.X

安装新版Appium2.0

安装appium驱动与插件

第五步:安装appium inspector

第六步:安装Appium Python 客户端,通过编写python脚本运行appium


自 2022 年 1 月 1 日起,Appium 不再维护 Appium 1.x,官方支持的平台驱动程序的所有最新版本均不兼容 Appium 1.x,需要 Appium 2 才能运行。开启了全新的Appium 2.0之旅。可通过官方文档查看Appium2 移除的功能和新增的功能。

第一步:安装 node.js

Appium2 目前只能通过 node 安装,首先访问 node 官网下载 node 

第二步:安装 Android Studio

可以通过 Android Studio 、旧版SDK 下载 SDK

 安装完成后要设置环境变量

1、打开终端,输入:

vim ~/.bash_profile

2. 编辑文件,配置以下的环境变量:

export ANDROID_HOME=/Users/xxx/Library/Android/sdk(SDK根目录)
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platforms
export PATH=${PATH}:${ANDROID_HOME}/build-tools/34.0.0

3.配置生效

source ~/.bash_profile

4.确认配置是否生效

  • 在命令行执行adb version,确认没有报错,提示的adb位置是之前所安装的sdk目录下
  • 在命令行执行emulator -version,确认没有报错,并且显示了Android emulator version信息

第三步:下载 JDK

JDK 20下载:官网下载

JDK 8u381下载:Java 8

 安装完成后要设置环境变量,并使用source命令或者重启让配置生效

export JAVA_HOME={jdk的根目录路径}
export PATH=$PATH:$JAVA_HOME/bin

检测是否安装成功:

java -version

第四步:安装 Appium

卸载旧版本appium1.X

⚠️注意:如果有安装旧版本appium1.X,需要先卸载旧版本appium,再安装新版本appium

1.打开终端应用程序。

2.运行以下命令以卸载全局安装的 Appium:

npm uninstall -g appium

3. 卸载appium-doctor

npm uninstall -g appium-doctor

确认卸载完成后,可以通过以下命令检查 Appium 是否已被完全卸载:

appium --version

如果命令返回“command not found”,则说明 Appium 已被成功卸载。

安装新版Appium2.0

终端输入下方命令全局安装 Appium

npm i --location=global appium

安装后输入appium,看页面有如下提示

安装appium驱动与插件

安装 UiAutomator2 驱动程序 

appium driver install uiautomator2

安装xcuitest驱动程序

appium driver install xcuitest

安装完成后输入appium driver list,页面有如下信息

要列出所有可用的 Appium 插件:

appium plugin list

要安装 Appium 插件,请使用以下命令并将“xxxx”替换为您要安装的插件的名称:

appium plugin install xxxx

第五步:安装appium inspector

 Appium Inspector下载地址:Releases · appium/appium-inspector · GitHub

 打开软件,配置如下json,根据自己手机信息和软件信息配置:

{
  "platformName": "Android",
  "automationName": "uiautomator2",
  "appPackage": "com.android.settings",
  "appActivity": ".Settings"
}

 配置好保存启动inspector客户端,可以查看手机客户端中页面各元素的信息

第六步:安装Appium Python 客户端,通过编写python脚本运行appium

安装命令为pip install Appium-Python-Client
安装完成后,启动appium,运行python脚本就可以看到启动效果了

import unittest
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy

capabilities = dict(
    platformName='Android',
    automationName='uiautomator2',
    deviceName='Android',
    appPackage='com.android.settings',
    appActivity='.Settings'
)

appium_server_url = 'http://localhost:4723'

class TestAppium(unittest.TestCase):
    def setUp(self) -> None:
        self.driver = webdriver.Remote(appium_server_url, capabilities)

    def tearDown(self) -> None:
        if self.driver:
            self.driver.quit()

    def test_find_wlan(self) -> None:
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="WLAN"]')
        el.click()

if __name__ == '__main__':
    unittest.main()

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

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

相关文章

VSCode-Python传参数进行Debug

新建demo.py import argparse def parse_args():description "debug example" parser argparse.ArgumentParser(descriptiondescription) help "The path of address"parser.add_argument(--host,help help) parser.add_ar…

2023-08-05力扣今日五题-好题

链接: 剑指 Offer 52. 两个链表的第一个公共节点 题意: 如题 解: 非常有趣的双指针 首先我们不管他们是否有公共段啊,我们要知道一个指针从A出发走到A结尾,再从B出发走到B结尾,和从B出发最终到A结尾是…

小程序逆向之源码获取

背景:小程序使用越来越多,很多时候,我们工作中需要用到对小程序的研究,那么就出现了一个课题,小程序如何逆向,如何获取源码,今天这篇文章就来讲一下如何获取源码(pc端)。…

Amplifier--Transistor amplify introduce

#1, 功率放大器分类:甲类,乙类,甲乙类 #2, 甲类放大器: 当静态工作点Q设在负载线线段的中点, 在整个信号周期内都有电流Ic通过时,称为甲类放大器; #3, 乙类放大器&…

年至年的选择仿elementui的样式

组件&#xff1a;<!--* Author: liuyu liuyuxizhengtech.com* Date: 2023-02-01 16:57:27* LastEditors: wangping wangpingxizhengtech.com* LastEditTime: 2023-06-30 17:25:14* Description: 时间选择年 - 年 --> <template><div class"yearPicker"…

轻松批量自定义重命名,为文件夹加上个性化编号!

在日常生活和工作中&#xff0c;我们经常需要对大量的文件夹进行重命名&#xff0c;以更好地管理和整理文件。然而&#xff0c;手动逐个修改文件夹名称费时费力&#xff0c;效率低下。现在&#xff0c;我们为您推荐一款简单易用的工具&#xff0c;可以帮助您快速批量自定义重命…

Unity-UGUI优化策略

界面出栈规则&#xff1a; 界面目录导航、策划界面回退需求造成界面套娃问题&#xff0c;夹带一系列层级问题&#xff0c;应该和策划进行友好沟通&#xff0c;避免界面不合理的出栈入栈规则 overdraw&#xff1a; 尽量减少同屏 半透明物体渲染 Unity 之 UGUI优化&#xff08;…

C++入门--string类的实现

目录 1.string类常用函数实现&#xff08;1&#xff09;string类成员变量定义&#xff08;2&#xff09; string类默认构造函数实现&#xff08;3&#xff09; string类拷贝构造函数实现&#xff08;4&#xff09;string类析构函数&#xff08;5&#xff09;string类c_str()函数…

linux umask:文件访问权限控制预设值

1. umask 定义 在 linux 系统中&#xff0c;umask 被定义在 /etc/profile 配置文件中&#xff0c;有一段 shell 脚本对 umask 是这么定义的。在 shell 会话输入命令&#xff1a; $ cat /etc/profile # 查看 /etc/profile 配置文件的内容 if [ $UID -gt 199 ] &&…

七夕送什么比较好?适合七夕节送的礼物

七夕将至&#xff0c;这是中国传统节日中最浪漫的一天&#xff0c;也是许多情侣们表达爱意的特殊时刻。在这个美好的节日里&#xff0c;送上一份特别的礼物&#xff0c;不仅能让心爱的人感受到你的深情厚意&#xff0c;还能为你们的爱情故事添上浓墨重彩的一笔。还不知道七夕要…

ElasticSearch:项目实战(1)

es环境搭建参考&#xff1a;ElasticSearch&#xff1a;环境搭建步骤_Success___的博客-CSDN博客 需求&#xff1a; 用户输入关键可搜索文章列表 关键词高亮显示 文章列表展示与home展示一样&#xff0c;当用户点击某一篇文章&#xff0c;可查看文章详情 思路&#xff1a; …

【腾讯云 Cloud Studio 实战训练营】深度体验 | 使用腾讯云 Cloud Studio 快速构建 Vue + Vite 完成律师 H5 页面

【腾讯云 Cloud Studio 实战训练营】深度体验 | 使用腾讯云 Cloud Studio 快速构建 Vue Vite 完成律师 H5 页面 写在前面的话一、腾讯云 Cloud Studio 介绍1.1 Cloud Studio 应用场景1.2 Cloud Studio 开发优势 二、沉浸式体验开发快速构建 H5 页面2.1 注册与登录 Cloud Studi…

第7章 通过内网本机IP获取微信code值及其对code值的回调。

在第5章中讲述了怎样通过内网穿透外外网从而获取微信code值&#xff0c;实际上微信测试帐号管理页中也支持通过内网本机IP获取微信code值。 1 重构launchSettings.json "https": { "commandName": "Project", "dotnetRunMessages": t…

代码随想录—力扣算法题:59螺旋矩阵II.Java版(示例代码与导图详解)

版本说明 当前版本号[20230810]。 版本修改说明20230810初版 目录 文章目录 版本说明目录59.螺旋矩阵II思路左闭右开方法左闭右闭方法两种方法的区别总结 59.螺旋矩阵II 力扣题目链接 更多内容可点击此处跳转到代码随想录&#xff0c;看原版文件 给定一个正整数 n&#xf…

BDA初级分析——数据收集、清洗和整理

一、认识数据 什么是数据&#xff1f; 数据是对客观世界的记录&#xff0c;用来记载事物的性质、状态、相互关系等。 有哪些常见的数据类型&#xff1f; 什么是数据集&#xff1f; 数据集&#xff1a;数据的集合&#xff0c;通常以表格形式出现。 二、收集数据 我们都会从哪里…

优思学院|6sigma合格率计算公式

概述 在现代竞争激烈的商业环境中&#xff0c;质量控制对于制造业和服务业都至关重要。其中&#xff0c;一个强大的方法是采用6sigma&#xff08;也称为6σ&#xff09;方法来提高质量和降低缺陷率。本文将深入探讨6sigma合格率计算公式&#xff0c;解释其在质量管理中的应用&…

20款奔驰C260 L(W206)更换内饰最全发光套件,提升车内氛围

原厂1:1设计&#xff0c;免编程匹配&#xff0c;无损安装&#xff0c;可升级项目&#xff1a; 1、碳纤维中控氛围灯&#xff08;阿凡达水滴款&#xff09; 2、发光前风口&#xff1b; 3、发光后风口&#xff1b; 4、发光座椅背气氛灯&#xff1b; 5、中音发光盖板 6、主动…

企业有VR全景拍摄的需求吗?能带来哪些好处?

在传统图文和平面视频逐渐疲软的当下&#xff0c;企业商家如何做才能让远在千里之外的客户更深入、更直接的详细了解企业品牌和实力呢&#xff1f;千篇一律的纸质材料已经过时了&#xff0c;即使制作的再精美&#xff0c;大家也会审美疲劳&#xff1b;但是你让客户远隔千里&…

网络编程基础:Linux网络I/O模型、JavaI/O模型、Netty

文章目录 一、Linux网络I/O模型简介0.文件描述符和系统调用1. 阻塞I/O模型2. 非阻塞I/O模型&#xff08;轮询&#xff09;3. I/O复用模型&#xff08;轮询、事件驱动&#xff09; 二、Java的I/O演进1.BIO&#xff08;阻塞&#xff09;&#xff08;1&#xff09;套接字&#xff…

安达发|疫情影响下的APS排程可以给制造业解决哪些问题

随着市场需求的不断变化&#xff0c;特别是对柔性、小单量多批次的需求日益增长&#xff0c;再加上疫情的影响&#xff0c;企业随时可能面临延期交货的风险。这使得行业供应链管理的复杂性不断加剧&#xff0c;企业对于生产管理高效性的需求也日益显著。 同时&#xff0c;我们…