当前位置: 首页 > news >正文

软件测试 | APP测试 —— Appium 的环境搭建及工具安装教程

大家应该都有同一种感觉,学习appium最大的难处之一在于环境的安装,安装流程比较繁琐,安装的工具和步骤也较多,以下是基于Windows系统下的Android手机端的安装流程。就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试脚本。那么移动端自动化测试,我们同样需要一部Android手机(手机需要链接电脑)或者 Android 模拟器。

appium的环境搭建

一、环境准备

在环境搭建前需要检查本机电脑的位数,根据相应位数下载对应的安装包。

需要准备的工具如下:

Jdk

android-sdk_r24.3.4-windows

Python

appium

.net Frameword

Node.js:node-v4.4.7-x64

appium-Python-Client

Android 模拟器

SDK platform tools 安装

二、jdk 安装

众所周知,Android 是由 Java 语言开发的,所以想开发 Android 应用首先需要 Java 环境, 所以, 我们首先需要安装 Java 环境。java 下载地址:http://www.java.com/zh_CN/download/manual.jsp。 

注:java 环境分 JDK 和 JRE  ,JDK 就是 Java  Development  Kit.简单的说 JDK 是面向开发人员使用的 SDK,它提供了 Java 的开发环境和运行环境。JRE 是 Java Runtime  Enviroment 是指 Java 的运行环境,是面向 Java 程序的使用者,而不是开发者。 

(1) 下载:下载 jdk 包,小编的是 64 位 win10 版本,其它高级版本应该也是可以的。根据自己的系统选择对应版本。

(2) 安装:双击下载的 JDK,设置安装路径,注意安装路径不要有空格,不要有中文。jdk 和 jre 不要放在一个文件夹下。 

(3) 环境变量:设置三个环境变量,分别是 JAVA_HOME,CLASS_PASS,PATH,在我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”里设置。

(4)验证:编辑完成后,需要验证 java 是否安装成功,方法是在 cmd 中输入 java 和 javac,如果显示以下信息,则说明安装成功。java 命令可以运行 class 文件字节码。javac 命令可以将 java 源文件编译为 class 字节码文件。


三、Android-sdk 下载安装

Android SDK 提供了你的 API 库和开发工具构建,测试和调试应用程序, Android。简单来讲,Android SDK 可以看做用于开发和运行 Android 应用的一个软件。

根据我的验证 adt 和 sdk 都可以用来运行 android 模拟器,所以下载哪个都可以。下载链接中已经标识了系统信息,请根据自己的操作系统下载相应的版本。

扩 展理解:

ADT(Android Development Tools):目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为 Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。adt只是一个eclipse的插件,里面可以设置sdk路径。

SDK(Software Development  Kit):一般是一些被软件工程 师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。在Android中,他为开发者提供了库文件以及其他开发所用到的工具。简单理解为开发工具包集合,是整体开发中所用到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载 ADT,只下载SDK即可开发。SDK可以自己编译,在linux环境下通过make命令进行,耗时比较长,需要有耐心。我们可以把自己编译的 SDK通过ADT导入eclipse。在此基础上可以对源码包进行修改,比如修改android system/app/phone.apk中的源码。

(1) 下载:好多人直接下载 AndroidStudio,但是如果只做自动化的话只需要下载 Android SDK 就可以了。

下载地址:http://tools.android-studio.org/index.php/sdk/。 

(2) AndroidSDK 环境变量:下载成功解压后配置 Android SDK 的环境。如上面新建 JAVA_HOME 一样,新建 ANDROID_HOME,如下:

“我的电脑”右键菜单--->属性--->高级--->环境变量--->系统变量-->新建


找到 path 变量名—>“编辑”添加:


四、Node.js 安装

简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。

(1)下载:

下载地址是 https://nodejs.org/en/Cs


(2)环境变量:下载获取到安装文件后,直接双击安装文件,根据程序的提示, 完成 nodejs 的安装(一直下一步就行,可以将路径进行修改)。将 Node.js 的安装路径(也就是 node.exe 文件所在的目录)D:\Program Files\nodejs 追加到环境变量 Path 中。


(3)验证:检查一下环境是否配置好,在命令行中输入 npm。


五、net framework 安装

由于 appium 是用.net 开发的,所以安装之前需要安装.net framework,否则安装过程中会报错,

官网下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=30653

下载成功后直接点击安装即可。

六、appium 安装

(1) 下载:

下载地址 https://bitbucket.org/appium/appium.app/downloads/

当前最新版本为 appiumForWindows_1_4_16_1.zip 

注意:这是一个 Windows 版本,如果你的电脑为 MAC 请下载 appium-1.5.3.dmg。以 Windows 为例,将下载的 appiumForWindows.zip 进行解压,点击 appium-installer.exe 进行安装。 

(2)环境变量:

将安装的 appium 文件夹所在目录\appium\node_modules\.bin 添加进 path。


(3)验证:cmd 打开命令行窗口,输入 appium-doctor ,出现以下提示,All Checks were successful ,说明环境配置成功。


七、Python 安装

(1) 下载:打开 Python 官网网址 https://www.python.org/,双击进行安装。安装完成后,可以看到安装好的 Python 目录,如图:


(2)验证:打开 cmd,输入 Python,即可看到版本信息并进入 Python,如下:


八、appium-python-client 安装

安装完 Python 后,我们需要将 Python 与 appium 关联起来。cmd 打开命令行窗口,输入:pip install appium-Python-Client,提示成功就可以了。


九、Android 模拟器安装

当 Android SDK 安装完成之后,并不意味着已经装好了安装模拟器。Android 系统有多个版本,所以我们需要选择一个版本进行安装。

打开解压后的 SDK 文件夹,点击 SDK Manager,双击启动 SDK Manager.exe程序。


点击”create”:


如果显示屏分辨率比较低的话,尽量选择低分辨率的“Device”。点击“OK”,在 AVD Manager 窗口,点击“Start...”按钮启动 android 模拟器。


因为新虚拟机没了实体键,所以我们可以利用键盘按键来操作 android 虚拟机。


当然,不能保证你 SDK 可以更新。所以, 这里推荐一个网站:http://www.androiddevtools.cn/它提供了国内的代理,以及各种开发工具的安装。在 Android SDK Manager  的菜单栏上点击“Tools”---->“Options...” 设置相关代码,如下图:


然后,就可以更新了:


十、SDK platform tools 安装

Android SDK  Platform-tools 是版本有区别的工具文件夹,里面有 adb 、

aapt、fastboot 等工具包。在 AndroidDevTools.cn  网站上找到Android SDK  Platform-tools 下载链接。


(1) 安装:安装 Tools 下的 Android SDK Platform-tools 和 Android SDK Build-tools,Android SDK Tools 可以选择是否更新,建议直接更新。镜像:随便选个版本也可以选择多个版本安装,由于镜像比较大,所以喜欢真机的朋友们可以不下载镜像,GoogleFQ 安装:Extras 文件夹下所有的全部安装。

(2) Tool 环境变:将下面环境变量添加到 path 中,如下:

变量名:PATH

变量值:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;

%ANDROID_HOME%\build-tools\27.0.3


(3) 验证:检查 Android SDK 是否配置成功,win+r cmd 打开命令行窗口,在命令行窗口中输入 adb –-version:


打开 Windows 命令提示符,通过“appium-doctor”命令检查 appium 环境。如果显示”All Checks ware successful”,则说明环境以及搭建成功。


ok,今天我们的知识分享就到这里了,下一期我们将从appium的原理,它的加载过程,工作过程以及所使用的技术等。  

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

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

相关文章:

软件测试 | APP测试 —— Appium 的环境搭建及工具安装教程

大家应该都有同一种感觉,学习appium最大的难处之一在于环境的安装,安装流程比较繁琐,安装的工具和步骤也较多,以下是基于Windows系统下的Android手机端的安装流程。就像我们在用Selenium进行web自动化测试的时候一样,我…...

计算机人工智能前沿进展-大语言模型方向-2024-09-13

计算机人工智能前沿进展-大语言模型方向-2024-09-13 1. OneEdit: A Neural-Symbolic Collaboratively Knowledge Editing System Authors: Ningyu Zhang, Zekun Xi, Yujie Luo, Peng Wang, Bozhong Tian, Yunzhi Yao, Jintian Zhang, Shumin Deng, Mengshu Sun, Lei Liang, Z…...

衡石分析平台使用手册-替换衡石minio

替换衡石minio​ 在使用HENGSHI SENSE服务过程中,可以根据业务需要替换HENGSHI自带的minio。本文讲述使用Aws S3和Aliyun OSS替代衡石minio的过程。 准备工作​ 在进行配置前,请在aws s3或aliyun oss完成如下准备工作。 创建access_key和secret_acces…...

怎么将几个pdf合成为一个?把几个PDF合并成为一个的8种方法

怎么将几个pdf合成为一个?将多个PDF文件合并成一个整体可以显著提高信息整合的效率,并简化文件的管理与传递。例如,将不同章节的电子书合成一本完整的书籍,或者将多个部门的报告整合成一个统一的文档,可以使处理流程变…...

明明没有程序占用端口,但是启动程序却提示端口无法使用,项目也启动失败

明明没有程序占用端口,但是启动程序却提示端口无法使用,项目也启动失败 win10、端口占用、port、netstat、used背景 曾在springboot中遇到过,新建spring cloud时又遇到这个问题,如果不从根本上解决,就需要改端口&…...

ClickHouse的安装配置+DBeaver远程连接

1、clickhouse的下载: 先去clickhouse官网进行下载,继续往下翻找文档,将DBeaver也下载下来 下载地址:https://packages.clickhouse.com/rpm/stable/ 下载这个四个rpm包 2、上传rmp文件到Linux中 自己创建的一个clickhouse-ins…...

UVM仿真的运行(四)—— objection 机制

目录 0. 引言 1. uvm_phase::execute_phase line 1432~1470 2. uvm_objection 2.1 get_objection_total 2.2 raise_objection 2.3 drop_objection 2.4 m_execute_scheduled_forks 2.5 wait_for 3. 小结 0. 引言 前面介绍了uvm仿真的启动,按照domain中指定的DAG的pha…...

【ShuQiHere】算法分析:揭开效率与复杂度的神秘面纱

【ShuQiHere】 🚀 引言 在计算机科学的世界中,算法 是每一个程序背后的隐形支柱。从简单的排序到复杂的人工智能,算法无处不在。然而,编写一个能运行的程序只是开始,当程序面对庞大的数据集时,算法的效率…...

记忆化搜索专题——算法简介力扣实战应用

目录 1、记忆化搜索算法简介 1.1 什么是记忆化搜索 1.2 如何实现记忆化搜索 1.3 记忆化搜索与动态规划的区别 2、算法应用【leetcode】 2.1 题一:斐波那契数 2.1.1 递归暴搜解法代码 2.1.2 记忆化搜索解法代码 2.1.3 动态规划解法代码 2.2 题二&#xff1…...

【Java】【力扣】83.删除排序链表中的重复元素

题目 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2]示例 2: 输入:head [1,1,2,3,3] 输出&#…...

vue3项目实现全局国际化

本文主要梳理vue3项目实现全项目格式化,例如在我前面文章使用若依创建vue3的项目中,地址:若依搭建vue3项目在导航栏中切换,页面中所有的组件的默认语言随之切换,使用的组件库依旧是element-plus,搭配vue-i1…...

Oracle 19c异常恢复—ORA-01209/ORA-65088---惜分飞

由于raid卡bug故障,导致文件系统异常,从而使得数据库无法正常启动,客户找到我之前已经让多人分析,均未恢复成功,查看alert日志,发现他们恢复的时候尝试resetlogs库,然后报ORA-600 kcbzib_kcrsds_1错误 2024-09-15T17:07:32.55321508:00 alter database open resetlogs 2024-09-…...

【Webpack--000】了解Webpack

🤓😍Sam9029的CSDN博客主页:Sam9029的博客_CSDN博客-前端领域博主 🐱‍🐉若此文你认为写的不错,不要吝啬你的赞扬,求收藏,求评论,求一个大大的赞!👍* &#x…...

开源 AI 智能名片链动 2+1 模式 S2B2C 商城小程序与社交电商的崛起

摘要:本文深入探讨了社交电商迅速发展壮大的原因,并分析了开源 AI 智能名片链动 21 模式 S2B2C 商城小程序在社交电商中的重要作用。通过对传统电商与社交电商的对比,以及对各发展因素的剖析,阐述了该小程序如何为社交电商提供新的…...

在线IP代理检测:保护您的网络安全

在互联网飞速发展的今天,越来越多的人开始意识到网络安全和隐私保护的重要性。在线IP代理检测工具作为一种有效的网络安全手段,能够帮助用户识别和检测IP代理的使用情况,从而更好地保护个人隐私和数据安全。本文将详细介绍在线IP代理检测的相…...

【算法】BFS—解开密码锁的最少次数

题目 一个密码锁由 4 个环形拨轮组成,每个拨轮都有 10 个数字: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 。每个拨轮可以自由旋转:例如把 9 变为 0,0 变为 9 。每次旋转都只能旋转一个拨轮的一位数字。 锁的初始数字为 0000 ,一个…...

非守护线程会阻止JVM的终止吗

非守护线程会阻止JVM的终止。在Java中,线程分为守护线程(Daemon Threads)和非守护线程(Non-Daemon Threads,也被称为用户线程)。这两种线程在JVM终止时表现出不同的行为。 非守护线程是JVM中执行程序主要逻…...

Grafana面板-linux主机详情(使用标签过滤主机监控)

1. 采集器添加labels标签区分业务项目 targets添加labels (模板中使用的project标签) … targets: [‘xxxx:9100’] labels: project: app2targets: [‘xxxx:9100’] labels: project: app1 … 2. grafana面板套用 21902 模板 演示...

MYSQL数据库基础篇——DDL

DDL:DDL是数据定义语言,用来定义数据库对象。 一.DDL操作数据库 1.查询 ①查询所有数据库 输入; 得到结果: ②查询当前数据库 输入; 例如执行下面语句: 2.创建 输入 然后展示数据库即可得到结果&…...

Springboot 集成 Swing

背景 Springboot 在 Java 给 Java 开发带来了极大的便利,那么如何把它集成到 Swing GUI 编程项目中,使得 GUI 编程更加高效?本人简单做了一下尝试,完成一个 demo ,贴出来供大家参考 具体步骤 创建一个 spring boot …...

7.4.分块查找

一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...