软件测试/测试开发丨Windows Appium环境搭建

windows 版本 Appium 环境搭建

安装 nodejs

  • 下载.msi文件

https://nodejs.org/en/download/

image

  • 注意:

1、下载12.*版本双击安装即可。
2、无须配置环境变量,直接重启一个 cmd 输入下面的命令,能够查看这两个版本号即安装成功。

image

安装 appium desktop

直接官网下载 Appium 客户端版本安装即可。
建议下载 版本 1.15.1,最新的版本目前不太稳定。

mac 下载:
Appium-mac-1.15.1.dmg

windows 下载:
Appium-windows-1.15.1.exe

  • 官方下载地址:

https://github.com/appium/appium-desktop/tags

安装命令行版本的 Appium

国内网络一般直接使用官方推荐的命令 npm install -g appium, 会下载失败,超时等问题。这里推荐大家设置国内镜像再下载。

1、设置镜像源

npm config set registry https://registry.npm.taobao.org

2、安装appium

npm install -g appium 这样下载下来的是最新版本的appium。
推荐下载 appium 1.15版本,使用命令指定版本号 npm install -g appium@1.15

appium 这个版本是命令行版本, 与appium desktop启动一个即可,安装也可以只安装一个或者两个都装,建议都装。

  • 安装 appium-doctor
    npm install appium-doctor -g

appium-doctor 是用来检测环境配的是否完整,安装完成之后,重新打开新的命令行窗口,输入 appium-doctor,如下图:

image

例如上图,还差 ANDROID_HOME没有配会有标为红叉提示。

JDK 环境配置

  • 下载并安装jdk
    https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

注意: 使用 windows 的童鞋,如果用的是window10需要使用jdk_1XX的版本, 最上面网盘里面提供的,打开应该会闪退。

若下载比较慢,可以采取其他的方式进行下载。
1、下载好之后进行安装,其中win版本的安装的时候需要注意jre的安装是在jdk安装之后,在进行jre安装的时候不要使用jdk同样的目录,否则会出现javac等的覆盖

2、安装好之后,检查并进行 java 环境的设置

  • a、设置好JAVA_HOME和CLASSPATH
    JAVA_HOME:jdk的安装目录
    CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)

    image

  • b、设置Path,在其中加入两个配置信息

image

安装 android sdk

这里有三种安装方式,一种是命令行下载,一种是通过 Android Studio 下载SDK,另外一种是下载学院打包好的SDK
如果安装的SDK有问题,可以尝试用另一种方式安装。

第一种方式:命令行安装
  • 下载android sdk

https://www.androiddevtools.cn/

下载:android-sdk_r24.4.1-windows

下载下来之后找到 readme 文件并打开,下图

image

找到这个文件中最下方的一条命令,如下图,在命令行里执行这个命令更新sdk:

image

image

更新完的sdk 会多了一些文件夹,如下图:

image

更新完成之后,检查一下 build-tools/ 路径下,如果是 30 的版本,需要先删掉这个30的文件夹,然后手动的下载一个低于 28版本的build-tools/ 的放在目录下即可(推荐 28或者29的版本),如果下载多个版本会优先使用高版本的。(注意一定要删掉30这个版本的,版本太高appium运行不起来,需要依赖java1.9的版本)

  • 下载 build-tools 方法
    命令行,cd 到sdk 目录下,输入android 回车, 弹出如下界面,勾选想要下载的版本即可。

image

最后,检查对应的目录信息应该包含了以下几个:

  • build-tools
  • platform-tools
  • tools
    如果出现了工具的缺失,可以去上面的sdk manager 里下载。其中,build-tools包含不同版本的安卓版本的工具,每个版本一个文件夹,配置的时候将版本号文件夹配置上类似于:build-tools/xxx;platform-tools存放着adb等工具的,tools存放着uiautomatorviewer等工具。这里要注意build-tools/下的版本不要使用>=30版本的 build-tools/
  • sdk 配置环境变量:
    注意:环境变量不要有空格,中文 或者特殊字符等。
    首先配置好 android_home:

    image


    再到Path中添加下列信息,其中安卓版本build-tools目录下的数字配置为自己电脑上存在的版本。

    image

第二种方式:先下载Android Studio, 利用 Android Studio 下载安装 SDK

参考贴子:https://ceshiren.com/t/topic/4001

第三种方式:下载学院打包的SDK,配置环境变量即可

https://ceshiren.com/t/topic/12808

注意: sdk 无论使用哪种安装方式,最后都要配置环境变量ANDROID_HOME, 和 Path 。

.net framework 安装

windows 安装 appium desktop 需要依赖 .net framework 必须保证 版本是大于 4.0 的即可。现在目前windows大部分默认的 .net framework 版本都是大于 4.0 的,可以通过下面的方式查看一下,如果不是则需要手动安装。

控制面板–程序–程序和功能 勾选 .net framework 4 确定即可

image

安装 appium client

appium client 是我们编写脚本必调的api包,写脚本一定要安装这个包才能引用appium, from appium import webdriver这行代码。

由于是python的第三方库,直接使用Pip 安装即可:

pip install appium-python-client

安装模拟器

目前市面上模拟器类型比较多, mumu, 夜神,雷电,逍遥,genimotion,android sdk中也有自带的emulator模拟器。学习过程中推荐大家使用mumu模拟器,也可以使用 genimotion模拟器和 android sdk 自带的 emulator。

  • 安装mumu模拟器,练习足够用,但做移动端的 web 测试需要使用genimotion 或者 sdk自带的emulator
  • android sdk 里面自带的模拟器也可以,只不过要下载android的开发工具来管理这些模拟器 - android studio,不用也可以不装,
  • genimotion (自行百度)

模拟器安装好之后,命令行里直接 输入命令adb devices即可查看模拟器的状态。

对于第三方模拟器(mumu, 夜神等),windows需要手动连接。
mumu模拟器,需要手动输入下面的连接命令:

adb connect 127.0.0.1:7555

上面的 127.0.0.1:7555 作为一个整体,是 模拟器的名称,也叫序列号(serial number)。是根据本地的 IP 和端口号生成的, 不同的模拟器对应的端口不一样,具体用的哪个端口可以去百度搜索一下或者官网查看 。

mac上直接执行 adb devices 。如果没有识别,需要重启 adb server,执行下面两条命令即可。

adb kill-server
adb devices

不同厂商的模拟器需要连接的名是不一样的,需要查看官网说明。上面仅提供了mumu的连接方式,其它的模拟器自行百度。

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!  

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

rax3000m刷openwrt固件

rax3000m刷机过程(nand版本) 刷机准备文件https://www.123pan.com/s/X5m9-6Ynj.html提取码:VtBW 接线关系:路由器lan口接电脑 1.上传配置开启ssh的配置文件(登录路由器后台管理界面在找到配置管理,上传配置文件rax3…

k8s的陈述式资源管理(命令行操作)

(一)k8s的陈述式资源管理 1、命令行:kubectl命令行工具——用于一般的资源管理 (1)优点:90%以上ce场景都可以满足 (2)特点:对资源的增、删、查比较方便,对…

与擎创科技共建一体化“数智”运维体系,实现数字化转型

小窗滴滴小编获取最新版公司简介 前言: 哈喽大家好,最近分享的互联网IT热讯大家都挺喜欢,小编看着数据着实开心,感谢大家支持,小编会继续给大家推送。 新岁即将启封,我们一年一期的运维干货年末大讲也要…

Linux磁盘管理与文件系统

目录 前言 一、磁盘基础 1、磁盘的物理结构 2、磁盘的数据结构 3、磁盘存储容量 4、硬盘接口类型 二、磁盘分区 1、磁盘分区的优缺点 2、磁盘两种分区方式 2.1 MBR分区 2.2 GPT分区(了解) 三、管理磁盘分区的工具 1、fdisk 2、blkid 3、free 4、mkfs 5、mkswa…

elasticsearch系列四:集群常规运维

概述 在使用es中如果遇到了集群不可写入或者部分索引状态unassigned,明明写入了很多数据但是查不到等等系列问题该怎么办呢?咱们今天一起看下常用运维命令。 案例 起初我们es性能还跟得上,随着业务发展壮大,发现查询性能越来越不…

NFC与ZigBee技术在智慧农业物联网监测系统中的应用

近年来,我国农业物联网技术飞速发展,基于物联网技术的智能农业监测系统有望得到较大规模的推广应用。但传统的物联网农业监测系统其网络结构层次单一,多采用基于有线或无线结构的节点-上位机数据采集模式,节点数据访问模式缺乏灵活…

软件测试/测试开发丨Python常用数据结构-元组Tuple

元组的定义 元组是有序的、不可变的对象合集;元组使用小括号包围,各个对象之间使用逗号分隔;元组是异构的,可以包含多种数据类型。 元组的创建 方法一:使用逗号分隔方法二:通过小括号填充元素方法三&…

虚拟机迁移技术原理与应用

虚拟机迁移技术主要应用于两种场景: 第一种,随着现在虚拟化的发展,传统it架构的物理机需迁移到虚拟机上,实现负载均衡、资源优化等目的。 第二种,将虚拟机从一个虚拟化平台迁移到另一个虚拟化平台,可以是…

docker-compose部署zabbix服务

1.首先要有docker环境, 关闭防火墙,selinux 开启docker,并设置开机自启动 Linux的docker的安装https://blog.csdn.net/m0_58146415/article/details/134654933 2.docker-compose的安装----github下载 curl -SL https://github.com/docke…

C++:第十一讲DFS深搜

Everyday English Your optimal career is simply this: Share the real you with physical world through th e process of creative self-expression. 你的最佳职业很简单,就是这样:通过创造性自我表达的途径和世界分享真实的你。 前言 今天带着大家…

springboot3+vue3实现大文件分片上传和断点续传

大文件分片上传和断点续传 大文件分片上传是一种将大文件切分成小片段进行上传的策略。这种上传方式有以下几个主要原因和优势: 网络稳定性:大文件的上传需要较长时间,而网络连接可能会不稳定或中断。通过将文件切分成小片段进行上传&#xf…

四阶轨迹规划,高精度电机运动控制必备

最近开始接触百纳米级别的控制精度,为了达到这一精度,必须使用高阶的轨迹规划。 四阶轨迹规划的作用是把一个阶跃信号变为一个四阶连续信号。 例如一个电机,想让它从a点移动到b点,那么给出的参考信号在位置,速度&…

灸哥问答:架构师如何提高自己的竞争力?

这个问题其实从我的主题【程序员如何转型架构师】所述内容中是能看到答案的,这里针对这个问题做一次总结性的回复: 1、 深入理解业务领域 充分理解你所在公司和行业的业务需求,运用 DDD 的业务分析思想和手段,构建更贴近实际业务…

悔不该用中文作为Windows的用户名啊~

前言 汉字在中华文明已经有了几千年的历史,小伙伴们所使用名字更是伴随了自己一生。所以小白们在拿到自己的新电脑,总会想着把自己的中文名字设置为电脑的用户名,这样更能显示出那是自己的专属电脑! 一开始小白也是这么想的&…

【JavaScript】new原理解析

✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…

Python+OpenGL绘制3D模型(七)制作3dsmax导出插件

系列文章 一、逆向工程 Sketchup 逆向工程(一)破解.skp文件数据结构 Sketchup 逆向工程(二)分析三维模型数据结构 Sketchup 逆向工程(三)软件逆向工程从何处入手 Sketchup 逆向工程(四&#xf…

Zookeeper之快速入门

前言 本篇文章主要还是让人快速上手入门,想要深入的话可以通过书籍系统的学习。 简介 是什么 可用于协调、构建分布式应用。 本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理…

Unity中Shader裁剪空间推导(在Shader中使用)

文章目录 前言一、在Shader中使用转化矩阵1、在顶点着色器中定义转化矩阵2、用 UNITY_NEAR_CLIP_VALUE 区分平台矩阵3、定义一个枚举用于区分当前是处于什么相机 二、我们在DirectX平台下,看看效果1、正交相机下2、透视相机下3、最终代码 前言 在上一篇文章中&…

Linux驱动开发学习笔记6《蜂鸣器实验》

目录 一、蜂鸣器驱动原理 二、硬件原理分析 三、实验程序编写 1、 修改设备树文件 (1)添加pinctrl节点 (2)添加BEEP设备节点 (3)检查PIN 是否被其他外设使用 2、蜂鸣器驱动程序编写 3、编写测试AP…

【JS逆向学习】快乐学堂

逆向目标 登陆接口:https://www.91118.com/passport/Account/LoginPost?r0.20790763112591337&kdsyes&username13127519353&passbb3mlkFBqqo%3D&recordPwd1&ckcode5719&fscodeklxt&invite 加密参数: r:0.2079…