【App自动化测试】(二)Appium环境部署

news2024/11/20 20:38:36

目录

  • 1. Appium生态工具
  • 2. Appium环境安装部署
    • 2.1 Appium 环境依赖说明
    • 2.2 第一步:安装JDK
    • 2.3 第二步:安装SDK
    • 2.4 第三步:安装Appium
    • 2.5 第四步:安装appium python client
    • 2.6 第五步:安装appium-doctor检测appium的安装环境
    • 2.7 第六步:验证环境是否成功


前言
本文为在霍格沃兹测试开发学社中学习到的一些技术写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 😘

1. Appium生态工具

  1. adb:android的控制工具,用于获取android的各种数据和控制;
  2. Appium Desktop:内嵌了appium server和inspector的综合工具;(注:Appium Desktop 1.22.X以后的版本中,inspector已经分离出来,需要单独下载安装。)
  3. Appium Server:appium的核心工具,命令行工具;
  4. Appium client:各种语言的客户端封装库,用于连接appium server(支持的语言:python,java,ruby,robotframework-appium,……)
  5. AppCrawler:自动遍历工具

2. Appium环境安装部署

♥️♥️
本文中Appium环境部署主要是讲解如何在Windows系统上进行安装部署,如果MacOS,且是M1芯片的话可参考我写的另外一篇文章,上面详细讲述了如何在macOS系统 (M1芯片)下进行Appium的环境部署。
👍👍👍: Appium环境安装—macOS系统 (M1芯片)

2.1 Appium 环境依赖说明

  • Java (>=1.8版本)
  • Android SDK
  • Node js(>=10版本);nmp(>=6版本)
  • python3
  • appium-desktop / appium server
  • Appium python client

2.2 第一步:安装JDK

网上有很多安装JDK的教程,此处给大家一些比较详细的参考文章链接。

JDK下载地址:https://www.oracle.com/java/technologies/downloads/#java8

JDK安装教程:https://blog.csdn.net/weixin_42276849/article/details/123749166

2.3 第二步:安装SDK

网上有很多安装Android SDK的安装教程,此处给大家一些比较详细的参考文章链接。

Android SDK安装教程:

  • Android SDK 安装

Android studio地址:

  • https://developer.android.google.cn

中文官网下载地址:

  • http://tools.android-studio.org/index.php/sdk
  • https://www.androiddevtools.cn/

2.4 第三步:安装Appium

  1. 第一步,先安装NodeJS

参考链接安装教程:

NodeJS部署教程: https://my.oschina.net/hshdexy/blog/4542419?hmsr=kaifa_aladdin

  1. 第二步,安装Appium
    可以选择安装Appuim Desktop或者直接安装Appium server。Appium Desktop集成的很多功能,因此不是很稳定,如果只是想进行代码调试,查看运行日志,可以使用Appium Desktop。但在实际现场部署的时候推荐使用Appium Server。
  • 安装Appium desktop方法:

参考链接安装教程:

appium desktop 安装教程:https://blog.csdn.net/hello18616355555/article/details/118770646

appium desktop安装包下载地址:https://github.com/appium/appium-desktop/releases

  • 安装appium server方法:

使用命令进行安装:

#第一步安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
#第二步安装appium server,最好确定版本号,使用最比较稳定额appium版本
cnpm install -g appium@版本号

#删除Appium server命令
npm uninstall -g appuim

2.5 第四步:安装appium python client

方式一:命令行方式(推荐)

pip install appium-python-clien

❗ 注意:pycharm中的虚拟环境还需要再安装一次appium-python-client

方式二:下载源码包进行安装

  • 下载地址:

    • https://github.com/appium/python-client

    • https://pypi.org/project/Appium-Python-Client/

  • 解压后在命令行中进入python-client-master目录,该目录下包含setup.py文件,然后执行命令python setup.py install 安装客户端。

2.6 第五步:安装appium-doctor检测appium的安装环境

安装命令:npm install appium-doctor

可安装在全局环境中:npm install -g appium-doctor (我用的这个)

安装教程:https://blog.csdn.net/u010654583/article/details/85125377

验证命令appium-doctor
在这里插入图片描述

2.7 第六步:验证环境是否成功

  1. 首先运行appium server。
  2. 其次准备一个android设备,真机或者模拟器(推荐mumu模拟器)。
  3. 模拟器连接到电脑。
  4. adb devices查看设备是否连接。
  5. 最后编写测试脚本,运行脚本,不报错。

文末说明:
接口测试中我们很容易混淆Session、cookie和token,你知道他们有什么区别吗?

快来跟我一起看,一篇文章让你了解三者的区别。😎
⬇⬇⬇⬇⬇⬇⬇
👍👍👍:接口测试经典面试题:Session、cookie、token有什么区别?

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

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

相关文章

Metabase学习教程:视图-1

你应该用哪个图表? 您应该使用哪种类型的图表和图表来最好地传达来自数据的见解?这将有助于你选择正确的工作。 选择正确的图表可以归结为两个问题:数据是什么样子的,以及您试图传达什么? 让Metabase为您选择图表 …

Day01-网页结构分析

网页结构分析 一 前言 姓名:陈云 TEL:18571593511 企业用人的两个标准 1.能干活,见到需求能反应出粗线条实施计划,起手实施后能自主预判和解决坑点,直至完成. 2.对某些敏感点理解较准确,有一定潜质做个性化封装和技术选型工作,应对突发状况,避免生…

SpringBoot--通过JSON传递请求参数--方法/实例

原文网址:SpringBoot--通过JSON传递请求参数--方法/实例_IT利刃出鞘的博客-CSDN博客 简介 本文用示例介绍SpringMVC如何通过JSON格式传递入参。 JSON格式使用post方式来请求,即:对应的注解为:PostMapping。 PostMapping注解的方法…

Vue学习笔记

课程来源:https://www.bilibili.com/video/BV1Zy4y1K7SH?p4&vd_source6f37192b213c98639a87ec77b26d105d 学习计划:一天学10节,从第四节开始做笔记,预计16天完成(完成日期2022年12月7日) 目录&#…

【1】Anaconda基本命令以及相关工具:jupyter、numpy、Matplotilb

目录 一、Anaconda ◼ anaconda命令行操作 二、jupyter notebook 1 jupyter的基础使用 ◼ jupyter的启动 ◼ ipynb文件的新建、重命名、删除 ◼ 菜单说明 ◼ 运行cell单元块 ◼ 编写文档笔记 2 jupyter的高级使用:常用魔法命令 ◼ writefile pycat run …

【Golang】来用GoLand开发第一个Go程序

​ 📓推荐网站(不断完善中):个人博客 ​ 📌个人主页:个人主页 ​ 👉相关专栏:CSDN专栏、个人专栏 ​ 🏝立志赚钱,干活想躺,瞎分享的摸鱼工程师一枚 文章目录&#x1f34a…

【JAVA程序设计】基于JAVA的坦克大战小游戏--入门级小游戏

基于JAVA的坦克大战小游戏--入门级小游戏零、项目获取一、项目简介二、开发环境三、游戏玩法四、运行截图零、项目获取 获取方式(点击下载):是云猿实战 项目经过多人测试运行,可以确保100%成功运行。 一、项目简介 本项目是基于…

基于Java+Spring+Strusts2+Hibernate 社区智慧养老服务平台 系统设计与实现

一.项目介绍 本系统分为前端 和 后端 两块, 前端包括:首页、健康新闻、疾病预防、养生之道、动态通知、登录和注册 各模块的文章点击查看,支持评论以及回复功能, 登录成功之后点击欢迎您:后面的账号即可进入后台管理 后端包括&…

老杨说运维 | 非常重要,事关转型

《荀子》有云:“水能载舟,亦能覆舟。”在公司日常运营过程中,数据指标就像是水,孕育着生命,承载着万物。科学的数据指标能指引公司在正确的道路上不断前进,使平淡无常的业务焕发新生,而不合理的…

Qt QUndoStack、QUndoCommand(实现撤回和回撤)

用到的类: 1 QUndoStack: 一个存放 QUndoCommand 命令的栈. 2 QUndoCommand:The QUndoCommand class is the base class of all commands stored on a QUndoStack. 3 QUndoView:The QUndoView class displays the contents of a QUndoStack.&…

C#上位机系列(3)—定时器和串口的介绍

本文是讲解C#.net平台的Winform框架下的第三个内容,手把手介绍上位机项目的创建方式以及一些写软件时常用的功能,讲解从零开始的每一个步骤。 本次介绍上位机中定时器的使用和串口的配置 定时器:每过一段设定好的时间进入执行函数&#xff…

SIMULIA现实仿真解决方案 SIMULIA仿真模拟应用程序

由 3DEXPERIENCE 平台提供技术支持,SIMULIA 可提供仿真模拟应用程序,这些应用程序使用户能够探究现实生活中产品、自然和生命的行为 SIMULIA 通过虚拟测试实现性能要求促进协作。其产品组合提供强大的工具,能够对采用V6设计的零件、组件和产…

敏捷开发失败的五个原因以及解决方案

作者:David Bevans , Mendix公司高级内容营销经理 敏捷开发是一个可以改变软件交付方式的框架且效果十分惊人,但鉴于需要反复不断规划、测试、集成以及其他进行中的开发方式,敏捷开发在某些情况下行不通。下文将对常见的敏捷开发失灵以及相应…

菁染料CY3/CY5/CY7标记链霉亲和素/胰岛素,CY3/CY5/CY7-Streptavidin/Insulin

产品名称:菁染料CY3/CY5/CY7标记链霉亲和素/胰岛素 英文名称:CY3/CY5/CY7-Streptavidin/Insulin 链霉亲和素(streptavidin下称SA)是与亲和素(avidin下称AV)有相似生物学特性的一种蛋白质,是streptomyces avidinii菌的分泌物,其分…

AotuDL中Linux环境下运行pix2pix-tensorflow的环境配置(tensorflow==1.8.0 python==3.6)

目录写在前面1. 租用实例时基础镜像的选择2. 配置环境3. 实验记录写在前面 🍀windows环境下运行:【用于图像修复、数据增强等】结合官方代码教程,在Windows 10下运行pix2pix-tensorflow(tensorflow1.4.0 python3.6) A…

【网站架构】服务器弹性伸缩不能全自动,实际如何追加服务器

大家好,欢迎来到停止重构的频道。 本期,我们讨论大型网站的伸缩性。 伸缩性指的是通过自动增减服务器数量以适应用户量或压力。 这些年,微服务、ServerLess、K8S等技术,都让人有一种服务器自动伸缩很容易实现的错觉。 其实&…

最短路径问题

目录 一、前言 二、算法讲解 1、Dijkstra--朴素算法:O(n * n) 2、Dijkstra--堆优化算法:O(mlogm) 3、Bellman_ford贝尔曼算法: O(n * m) 4、Spfa算法:O(n * m) 5、Spfa处理负环:O(n * m) 6、Floyd算法&#xf…

iOS 列表页面实时刷新解决方案

iOS 列表页面实时刷新解决方案 一、背景介绍 1.1 问题的出现 客户要求APP客户端每次切换Tab,都需要从服务器去获取最新的数据,所以每次切换Tab,客户端都会去主动刷新接口,以获取最新的数据。但是实际发现,每次切换T…

基于FPGA MIPS CPU设计学习(1)

关于什么是MIPS以及MIPS架构可参考文章: MIPS架构与指令简介 1 MIPS寄存器学习 MIPS寄存器详细解释如下: • 0 : 即 0: 即 0:

【Shell 脚本速成】04、Shell 脚本格式化输出与用户交互

目录 一、shell格式化输出 1、echo命令 案例演示: 2、输出颜色字体 3、综合案例 二、 用户交互 1、read命令 2、交互输入案例 计算机程序其实就是三步:输入、运算、输出,这个理论也适应于shell编程。 那么计算机是如何将信息按照比较舒服的格式输…