appium环境搭建

一.appium环境搭建

1.python3

python3的下载安装这里就不多做介绍了,当然你也可以选择自己喜欢的语音,比如java…

2.jdk

1)下载地址

官网(需登录账号):

https://www.oracle.com/java/technologies/downloads/

百度网盘:

链接:https://pan.baidu.com/s/1kftqrXXeGvAmQyOK9c7qGw?pwd=phw1
提取码:phw1

这里需要注意的是安装jdk版本不要过高,否则后面启动uiautomatorviewer 肯定会报如下错,安装1.8的即可

在这里插入图片描述

2)配置环境变量

安装步骤就不多做介绍了,傻瓜式安装,这里介绍下配置环境变量

右击我的电脑>高级系统设置>环境变量,在系统变量下点击新建创建JAVA_HOME变量。

在这里插入图片描述

同样的步骤再创建CLASSPATH变量

在这里插入图片描述

最后在path变量下新加一个变量值,至此配置成功。

在这里插入图片描述

3)验证是否安装成功

打开dos窗口输入java -version出现版本信息说明你已安装成功

在这里插入图片描述

3.Android-sdk

安装Android-sdk网上说了一大堆,先下载platform-tools,然后再下载tools什么的,最后再配置环境变量,

其实这样多数会出错(亲测到崩溃)。最简单的方法就是安装Android-studio,它会自动帮你安装好sdk

1)下载

官网:https://developer.android.google.cn/studio/

2)安装

安装其实也是傻瓜式安装,最重要的就是安装成功后打开软件勾选sdk下载

首次我们打开Android-studio,点击SDK Manager

在这里插入图片描述

进入Android-sdk页面,再sdk platfotms下勾选所需的Android版本

在这里插入图片描述

接着再sdk tools下勾选如下几个选项,这里先取消Hide Obsolete Packages,才能显示SDK tools

在这里插入图片描述

选择完成后点击ok一直下一步直到下载完成即可

在这里插入图片描述

3)配置环境变量

右击我的电脑>高级系统设置>环境变量,在系统变量下点击新建创建ANDROID_HOME变量,

在这里插入图片描述

然后再Path下创建两变量值

在这里插入图片描述

4)验证是否安装成功

打开dos窗口输入:adb version

在这里插入图片描述

4.node

1)下载

官网:https://nodejs.org/zh-cn/

2)安装直接傻瓜式安装即可

3)验证是否安装成功

打开dos窗口输入:node -v 和npm -v

在这里插入图片描述

npm为node的包资源管理器,默认下载地址为国外的,下载特慢,可设置国内镜像:

npm install -g cnpm --registry=https://registry.npm.taobao.org

5.appium-service

1)安装

通过node安装,打开dos窗口输入:cnpm install -g appium

如果你运气好的话安装这一步就可以安装成功,但如果安装过程中报如下错误:

error:Install fail! RunScriptError: post install error, please remove node_modules before retry!

可尝试删除npm目录下的node_modules文件,然后在dos窗口执行(我是在这一步成功的)

npm config set registry https://registry.npm.taobao.orgappium
npm install appium -g --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver

2)验证是否安装成功

在dos窗口输入appium启动服务,出现如下信息说明安装成功。

在这里插入图片描述

6.appium-desktop

1)下载

百度网盘:

链接:https://pan.baidu.com/s/1N82lrpPKyU1x3z-pSxS4Vg?pwd=hei4
提取码:hei4

下载完直接傻瓜式安装即可

2)配置参数

下载完成后双击打开如下界面,点击Edit Configurations配置jdk and sdk

在这里插入图片描述

在这里插入图片描述

配置完成后点击start server开启appium服务。

在这里插入图片描述

uiautomatorviewer配置信息如下

在这里插入图片描述

appPackage和appActivity可用adb指令查看:dumpsys window|grep mCu(前提adb已连接设备)

deviceName用adb指令查看:adb devices(前提手机已经打开开发者模式且允许usb调试)

配置完信息后点击Start Session进入uiautomatorviewer界面截图

在这里插入图片描述

7.Appium-python-Client

pip install Appium-python-Client

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Appium-python-Client

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

在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt应用开发(基础篇)——向导对话框 QWizard

一、前言 QWizard类继承于QDialog,为有向导界面需求的应用环境提供了一个框架。 对话框窗口 QDialog QWizard向导对话框是一个拥有队列界面的特殊对话框,向导的目的是引导用户一步一步的完成预设的流程。向导常用于软件安装界面向导、硬件线路安装向导、…

界面控件DevExpress WPF(v23.2)下半年发展路线图

本文主要概述了DevExpress官方在下半年(v23.2)中一些与DevExpress WPF相关的开发计划。 通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress …

一起学数据结构(5)——栈和队列

1. 栈的相关定义及特点: 1. 栈的相关定义: 在正式介绍栈的定义之前,首先来回顾一下关于线性表的定义: 线性表是具有相同数据类型的个数据元素的有限序列,其中为表长。当时,可以把线性表看作一个空表&…

SwiftUI 内功加持:“曳光弹“实现自定义样式进度条(ProgressView)

概览 虽然 SwiftUI 已为我们内置了很多常用视图,不过有时我们还是需要根据实际来进一步美化显示或增加功能。 如上图所示,在本篇博文中我们将结合敏捷哲学中一个超级实用的开发技巧:曳光弹,来一步一个脚印循序渐进的实现 Progres…

redisson分布式锁

RLock官网解释 基于Redis的Java分布式可重入锁对象,实现了锁接口。 如果获得锁的Redisson实例崩溃,那么这种锁可能永远挂起在获得状态。为了避免这种情况,Redisson维护了锁看门狗,它在锁持有者Redisson实例活着的时候延长锁过期时…

逻辑回归(Logistic Regression)

1.分类问题 在分类问题中,你要预测的变量 y是离散的值,我们将学习一种叫做逻辑回归 (Logistic Regression) 的算法,这是目前最流行使用最广泛的一种学习算法。 在分类问题中,我们尝试预测的是结果是否属于某一个类(例…

MultipartFile是什么

Multipart是一种file的类型 在我们进行文件上传时所发出的请求,我们页面对请求格式有明确的要求: 1.post提交表单方式 2.编码格式enctype必须是muitipart/form-data,这种格式适合传输数据量大的二进制数据文件 3.类型必须是file类 流程举例&#xf…

软件测试报告有什么用?

报告类型 不同的报告类型有不同的报告用途,以下分类别进行分析 1、登记测试报告 可以用于软件产品的增值税即征即退、软件企业的双软评估以及计算机系统集成资质的材料 2、鉴定\确认测试报告 可以用用于政府项目申报、高新认证、项目结题、创新产品认定、各类政…

Excel怎么批量生成文件夹

Excel怎么批量生成文件夹的链接: https://jingyan.baidu.com/article/ea24bc398d9dcb9b63b3312f.html

C 风格文件输入/输出---直接输入/输出---(std::fread)---(std::fwrite)

C 标准库的 C I/O 子集实现 C 风格流输入/输出操作。 <cstdio> 头文件提供通用文件支持并提供有窄和多字节字符输入/输出能力的函数&#xff0c;而 <cwchar>头文件提供有宽字符输入/输出能力的函数。 从直接输入/输出 文件读取 std::fread 从给定输入流 stream …

MMDetection实验记录踩坑记录

AP值始终为0 在实验MMDetection的DAB-DETR模型进行实验时&#xff0c;AP值始终上不去。 可以看到&#xff0c;在第22个epoch时的AP值仅为0.002 因为在此之前已经运行过YOLOX,Faster-RCNN等模型&#xff0c;所以数据集的设置肯定是没有问题的&#xff0c;而博主也只是修改了DAB…

Qt包含文件不存在问题解决 QNetworkAccessManager

这里用到了Qt的网络模块&#xff0c;在.pro中添加了 QT network 但是添加 #include <QNetworkAccessManager> 会报错说找不到&#xff0c;可以通过在项目上右键执行qmake后&#xff0c;直接#include <QNetworkAccessManager>就不会报错了&#xff1a;

java获取jenkins发布版本信息

一.需求&#xff1a; 系统cicd发布时首页需要展示jenkins发布的版本和优化内容 二.思路: 1.jenkins创建用户和秘钥 2.找到对应构建任务信息的api 3.RestTemplate发起http请求 三.实现&#xff1a; 1.创建用户和token 2.查找jenkins API 创建 Job POST http://localhost…

Flask狼书笔记 | 06_电子邮件

文章目录 6 电子邮件6.1 使用Flask-Mail发送6.2 使用事务邮件服务SendGrid6.3 电子邮件进阶6.4 小结 6 电子邮件 Web中&#xff0c;我们常在用户注册账户时发送确认邮件&#xff0c;或是推送信息。邮件必要的字段包含发信方(sender)&#xff0c;收信方(to)&#xff0c;邮件主题…

【vue2第十四章】 插槽(普通插槽、具名插槽、作用域插槽语法)

插槽 插槽是什么&#xff1f; 在 Vue 2 中&#xff0c;插槽&#xff08;slot&#xff09;是一种用于定义组件内部内容分发的机制。它允许你将组件中的一部分内容替换为用户自定义的内容&#xff0c;并在组件内部进行渲染。 通过在组件模板中使用 <slot></slot> 标…

常见IO模型(非常详细)

背景知识 常⽤5中⽹络IO模型 阻塞IO&#xff08;Blocking IO&#xff09;⾮阻塞IO&#xff08;Non-Blocking IO&#xff09;多路复⽤IO&#xff08;IO Multiplexing&#xff09;信号驱动IO&#xff08;Signal Driven IO&#xff09;异步IO&#xff08;Asynchronous IO&#x…

纯css实现奥运五环、3D平移、旋转、扭曲

文章目录 前言效果图htmlcss 前言 1、不是真正的五环&#xff0c;因为通过形变得来。 2、不同电脑显示器的像素不同&#xff0c;显现的效果不同。 3、不推荐使用此方法。 4、主要通过旋转加平移的方式实现。 效果图 html <div class"olympic_rings"><span …

我眼中的《视觉测量技术基础》

为什么会写这篇博客&#xff1a; 首先给大家说几点&#xff1a;看我的自我介绍对于学习这本书没有任何帮助&#xff0c;如果你是为了急切的想找一个视觉测量的解决方案那可以跳过自我介绍往下看或者换一篇博客看看&#xff0c;如果你是刚入门想学习计算机视觉的同学&#xff0…

【HTML/CSS】入门导学篇

本文属于HTML/CSS专栏文章&#xff0c;适合WEB前端开发入门学习&#xff0c;如果有所帮助请一键三连支持&#xff0c;对博主系列文章感兴趣点击下方专栏了解详细。 本文内容出自B站pink老师的前端入门教程&#xff0c;感谢pink老师&#xff01;&#xff01;&#xff01; 视频链…

【C++】封装map和set(红黑树实现)

前言&#xff1a; 前面&#xff0c;我们学习了set和map的用法&#xff0c;这两个容器可以完成查找&#xff0c;排序等操作&#xff0c;后来我们在学习过二叉搜索树的基础上又学习了两种特殊的二叉搜索树——AVL树和红黑树&#xff0c;他们俩可以是效率进一步提高&#xff0c;其…