appium2.x 最新安装教程来了!不用再装 appium desktop 了!

news2024/11/27 22:33:41

前言

新的appium已经舍弃了appium-server,重新回归到只有命令行安装和启动appium服务。

本文是基于最新的appium2.x的安装教程。正想学习使用appium的不要错过。

1、安装最新版本的node.js

下载地址:https://nodejs.org/en,一路安装完成即可。

2、命令行安装appium

在命令行当中输入:npm i -g appium@next

等待安装完成

3、命令行安装驱动

在命令行当中执行:appium driver install uiautomator2

等待安装完成。

在这里插入图片描述

4、安装安卓sdk工具包。配置ANDROID_HOME环境变量

从以下网盘地址中下载安卓sdk工具包:

链接:

https://pan.baidu.com/s/1ygUaH2vFth7138dX0_xwxw?pwd=jb01

提取码:jb01

下载下来,放在任意目录。

配置系统环境变量ANDROID_HOME


在系统环境变量path当中,添加以下2个环境变量:

%ANDROID_HOME%\platform-tools

%ANDROID_HOME%\build-tools\33.0.1

5、安装JDK,JDK11起步

6、安装模拟器

雷电模拟器下载地址

(android9):https://www.ldmnq.com/?n=6005

注意:把环境变量配置好了之后,要重启appium服务,让它重新加载新的环境变量。

7、执行以下代码,如果成功,说明环境okay。

前提条件:

1、请先启动雷电模拟器,并在命令行当中执行:adb devices,确认能够识别到模拟器设备。

2、在命令当中输入appium,启动appium服务。

3、在pycharm当中执行如下代码:


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',
    language='en',
    locale='US'
)


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_battery(self) -> None:
        el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Battery"]')
        el.click()


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

如果可以正确的打开安卓模拟器自带的设置app,并成功退出,那就说明环境没有问题啦。

在这里插入图片描述


最后很多小伙伴都有学习自动化测试的想法,这里在我在B站分享了一份自动化测试的视频教程,小伙伴们可以自行观看:

如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖…

公众号粉丝福利

  • 软件测试全套资源免费领取

  • 软件测试面试刷题小程序免费使用

  • 专属于测试人的GPT免费使用

在这里插入图片描述

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

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

相关文章

SpringCloud学习笔记(五)ElasticSearch介绍

一、什么是ElasticSearch ElasticSearch是一款开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容ElasticSearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域Elasti…

JAVA 正则表达式(heima)

JAVA 正则表达式(heima) public class RegexDemo01 {/** 正则表达式介绍:本质来说就是一个字符串,字符串中可以指定规则,来对其他字符串进行校验。* public boolean matches(String regex):根据传入的正则表达式&#…

Jmap-JVM(十六)

上篇文章说了ZGC是jdk11加入的,他是未来jvm垃圾收集器的奠定者,满足TB级别内存处理,STW时间保持在10ms以下。 Jmap 我们可以先通过jmap -histo 进程ip 来查看,但是这样看不太清晰,我们可以用这行命令生成一个文件&…

Vue中TodoList案例_动画

MyItem.vue : 主要是引入了import animate.css样式库,animate.css样式库配置见上一篇文章animate.css样式库,然后再li标签外套了transition标签,引用了name里面的名称是animate.css拿过来的,绑定了enter-active-class和leave-act…

前端实现导出excel表格

需求:实现勾选行导出为表格 一、安装插件 npm install --save file-saver xlsx运行项目报如下警告的话 运行npm install xlsx0.16.0 --save 来降低版本号(最初我安装的版本号是0.18.16的版本)再次运行项目就不会报如下警告了 二、新建一个ex…

嵌入式开发:单片机嵌入式Linux学习路径

SOC(System on a Chip)的本质区别在于架构和功能。低端SOC如基于Cortex-M架构的芯片,如STM32和NXP LPC1xxx系列,不具备MMU(Memory Management Unit),适用于轻量级实时操作系统如uCOS和FreeRTOS。…

SOC FPGA之HPS模型设计(一)

目录 一、建立HPS硬件系统模型 1.1 GHRD 1.2 从0开始搭建HPS 1.2.1 FPGA Interfaces 1.2.1.1 General 1.2.1.2 AXI Bridge 1.2.1.3 FPGA-to-HPS SDRAM Interface 1.2.1.4 DMA Peripheral Request 1.2.1.5 Interrupts 1.2.1.6 EMAC ptp interface 1.2.2 Peripheral P…

PostMan+Jmeter工具介绍及安装

目录 一、PostMan介绍​编辑 二、下载安装 三、Postman与Jmeter的区别 一、开发语言区别: 二、使用范围区别: 三、使用区别: 四、Jmeter安装 附一个详细的Jmeter按照新手使用教程,感谢作者,亲测有效。 五、Jme…

Linux:Linux的发展史和作用有哪些?

文章目录 Linux是什么?Linux的开源特征为什么要学习Linux?Linux的应用场景有哪些? Linux是什么? 简单来说,Linux就是操作系统,它和Windows等软件一样,都只是操作系统,并无区别 Linu…

linux查看系统版本、内存、CPU等信息

一、查看linux内核版本信息(两种方法) 1. cat /proc/version linux查看当前操作系统内核版本信息 2. uname -a linux查看当前操作系统内核版本信息 二、查看linux系统版本信息(3种方法) 1. lsb_release -a 可列出所有版本…

链表踏歌:独具慧眼,雕琢重复元素藏身匿迹

本篇博客会讲解力扣“83. 删除排序链表中的重复元素”的解题思路,这是题目链接。 由于链表是排好序的,我们可以通过遍历一次链表的方式,删除所有重复的结点。具体来说, 如果链表为空,则不需要删除,直接返回…

你能说说“淘宝购物车”怎么测试么?

前言 今天我给大家整理一篇面试高频问到的问题“淘宝购物车”怎么测试。 测试思维 依然附上测试任何事物的测试思路: 第一步:梳理产品的核心业务流程:明白这是个什么项目,实现了什么业务,以及是怎么实现的&#xf…

自动化测试框架unittest与pytest的区别!

引言 前面文章已经介绍了python单元测试框架,大家平时经常使用的是unittest,因为它比较基础,并且可以进行二次开发,如果你的开发水平很高,集成开发自动化测试平台也是可以的。而这篇文章主要讲unittest与pytest的区别&…

感染了后缀为.maloxx勒索病毒如何应对?数据能够恢复吗?

引言: 网络安全威胁不断进化,勒索病毒作为其中一种恶意软件类型,给个人用户和企业带来了严重的数据安全问题。.maloxx勒索病毒(maloxx Ransomware)是最近出现的一种恶意软件,它能够加密受害者计算机中的数…

建筑设计项目管理系统推荐:哪个最适合您的业务?

建筑设计用什么项目管理系统好?Zoho Projects设计行业一体化解决方案适用于以建筑设计、景观规划、勘探设计、室内设计、灯光设计、幕墙设计、工业设计、品牌设计、平面设计为主要业务的设计公司、广告公司、建筑设计院等设计机构。围绕设计行业的核心业务需求&…

媒体查询做页面的响应式布局@media

媒体查询(media)_花束javascipt的博客-CSDN博客

[JavaScript游戏开发] 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测

系列文章目录 第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 第三章 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测 文章目录 系列文章目录前言一、本章节效果图二、介绍2.1、准备地图素材2.2、封装地图上…

GUI自动化测试进阶:页面对象模式

本文介绍的是页面对象设计模式及其常见的滥用继承的错误。 本文和语言无关,但作者主要使用python和java。本文假设读者已经具有了一定的python或java基础,知道类和方法是什么。 如果完全没有这方面的基础,请看我的《测试人员如何学Python》。…

TPS54620RHLR是一款同步降压转换器

TPS54620RHLR是一款同步降压转换器,通过高效率和集成高压侧和低压侧MOSFET,为小型设计进行了优化。通过电流模式控制实现了进一步的空间节省,从而减少了元件数量,并通过选择高开关频率,减少了电感器的占地面积。输出电…

Redis源码篇 - QuickList数据结构

Quicklist是Redis3.2之后引入的一个双向链表结构,其本质是对ziplist弊端的一个优化数据结构,ziplist是一种连续的内存空间,用于减少碎片化,减少内存占用,但是正是因为需要连续的内存空间,当数量越来越大时&…