Appium学习日记(二)—— 入门学习(安装Appium和配置环境)

news2025/7/21 21:30:18

入门

1、安装 Node.js

  进入nodejs的官网下载安装包安装,一路点击下一步就行。
安装完毕之后,打开命令行,输入:node -v;显示类似于v10.13.0的版本号信息则表示安装成功。

2、安装Appium以及相关环境配置

  Appium可以通过两种方式之一安装:通过NPM或下载Appium Desktop,这是一种基于桌面的图形化方式来启动Appium服务器。

2-1、通过NPM安装

实际安装简单如下:

npm install -g appium

2-2、通过Appium Desktop安装

  只需从发布页面下载最新版本的Appium Desktop。

2-3、JDK安装以及环境变量配置

  这个就参照别人的教程吧。

2-4、安装Android SDK

  Android SDK下载地址:http://tools.android-studio.org/index.php/sdk
依次点击AndroidSDK工具>>SDK Tools>>会跳转到以下界面,然后选择你的系统下载就好,Windows建议选择.exe后缀那个。
在这里插入图片描述
下载之后,一路next就行,记住自己的安装目录,在安装目录下找到SDK Manager.exe,点击启动。
在这里插入图片描述
之后同样要添加环境变量,和jdk操作一样,点击新建,添加
变量名:ANDROID_HOME
变量值:你的sdk安装目录下的android-sdk文件夹,如:C:\Program Files(X86)\Android\android-sdk变量名尽量不要手动输入,建议点击浏览目录,找到该文件夹,点击确定.
然后在Path环境变量里添加:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;完成后点击确定,返回上层菜单,再点确定,保存.
在cmd终端输入:adb version

Android Debug Bridge version 1.0.40
Version 4986621
Installed as C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe

显示以上类似信息说明安装成功

2-5、验证安装

  当确认Appium安装完毕后,我们可以通过appium-doctor的命令来检查当前appium安装是否完善,当前的JDK、SDK等环境是否配置正确。
  提供--ios--android标志以验证所有依赖项都设置正确。
  如果 appium-doctor 返回的内容是有错的,根据返回的具体的提示,缺什么补什么。

3、特定的驱动程序设置

  你可能想使用Appium来自动化一些特定的东西,比如iOS或Android应用程序。Appium“驱动程序”为特定平台的自动化提供支持。有许多这样的驱动程序可以让您访问不同类型的自动化技术,并且每个驱动程序都有自己的特定设置要求。这些要求中的大多数与特定平台上的应用程序开发要求相同。例如,要使用我们的Android驱动程序自动化Android应用程序,您需要在系统上配置Android SDK。
  在某些时候,请确保您查看了要自动化的平台的驱动程序文档,以便正确设置系统:

  • The XCUITest Driver (for iOS and tvOS apps)
  • The Espresso Driver (for Android apps)
  • The UiAutomator2 Driver (for Android apps)
  • The Windows Driver (for Windows Desktop apps)
  • The Mac Driver (for Mac Desktop apps)

4、Appium客户端

  Appium只是一个HTTP服务器。它坐着等待来自客户端的连接,然后客户端指示Appium启动什么类型的会话,以及一旦会话启动,要执行什么类型的自动化行为。这意味着您永远不会单独使用Appium。您总是必须将它与某种类型的客户端库(或者,如果您喜欢冒险,cURL!)一起使用。
  幸运的是,Appium使用与Selenium相同的协议,称为WebDriver协议。只需使用一个标准的Selenium客户端,就可以使用Appium做很多事情。您甚至可能已经在系统中安装了其中一个。这就足够开始了,特别是如果您使用Appium在移动平台上测试web浏览器。
  Appium可以做Selenium不能做的事情,就像移动设备可以做web浏览器不能做的事一样。出于这个原因,我们有一组使用各种编程语言的Appium客户端,这些客户端扩展了常规的旧Selenium客户端的附加功能。您可以在Appium客户端列表中查看客户端列表和下载说明的链接。
  在继续之前,请确保您有一个用您最喜欢的语言下载的客户端,并准备就绪。

5、启动Appium

  现在,我们可以启动Appium服务器,或者从命令行运行它(假设NPM安装成功):

appium

或者单击Appium Desktop中的巨大“启动服务器”按钮。
  Appium现在将向您显示一条小的欢迎消息,显示您正在运行的Appium版本以及它正在侦听的端口(默认值为4723)。此端口信息非常重要,因为您必须引导测试客户端确保在此端口上连接到Appium。如果您想更改端口,可以在启动Appium时使用-p标志(请确保查看服务器参数的完整列表)。

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

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

相关文章

【Kafka】(1)基础知识汇总

TOC (1)Kafka简介 (1)简单介绍 Kafka是一种消息队列,主要用来处理大量数据状态下的消息队列,一般用来做日志的处理。既然是消息队列,那么Kafka也就拥有消息队列的相应的特性了。 &#xff0…

Python3 VSCode 配置

VSCode(全称:Visual Studio Code)是一款由微软开发的跨平台免费源代码编辑器。VSCode 开发环境非常简单易用,仅需要安装相关的插件进行简易的配置就可以与原有的python环境组成一套具有简单的代码调试运行的开发工具。对于轻量级的…

聚焦“碳中和”,成都超算中心牵手重庆大学唱好“成渝双城记”

为了积极稳妥推进碳达峰碳中和,加快成渝双城经济圈建设。重庆大学牵手国家超算成都中心和成都计算狗数据科技有限公司,开展了关于CO2电催化还原反应的路径计算工作,积极推动川渝两地实现产学研合作和成果落地转化,深入推进能源革命…

【C++】运算符重载

前言&#xff1a;本教程使用到的工具是vs2010&#xff1b; 目录 为什么要重载运算符&#xff1f; 运算符重载 重载就一定要吗&#xff1f; 重载后的运算符和普通运算符有什么区别&#xff1f; 总结 为什么要重载运算符&#xff1f; 先看代码&#xff1a; #include <…

腾讯实时股票数据接口怎么获取行情?

腾讯实时股票数据接口怎么获取行情&#xff1f;以五粮液为例&#xff0c;要获取最新行情&#xff0c;访问数据接口&#xff1a; 返回数据&#xff1a;v_sz000858"51~五 粮 液~000858~27.78~27.60~27.70~417909~190109~227800~27.78~492~27.77~332~27.76~202~27.75~334~27.…

做SEO为什么有的网站收录很难做?

刚开始做网站的时候&#xff0c;经常遇到网站收录难的问题。有时候一个月都没收录&#xff0c;急得还是忍不住。我困惑了很久。每天都在想是什么原因导致我的网站没有被收录&#xff0c;很无奈也很难过。那时候我还不知道搜索引擎的工作原理&#xff0c;也不知道从何入手。我像…

为什么我抓不到baidu的数据包

最近&#xff0c;有位读者问起一个奇怪的事情&#xff0c;他说他想抓一个baidu.com的数据包&#xff0c;体验下看包的乐趣。 但却发现“抓不到”&#xff0c;这就有些奇怪了。 我来还原下他的操作步骤。 首先&#xff0c;通过ping命令&#xff0c;获得访问百度时会请求哪个I…

[TypeScript]Vue/React子组件实例暴露方法

最近几个月都在用TS开发各种项目&#xff0c;框架有涉及到Vue3,React18等&#xff1b; 记录一下Vue/React组件暴露出变量/函数的方法的写法&#xff1b; Vue2 回顾一下Vue2 组件暴露出去方法&#xff0c;它并没有约束&#xff0c;写在methods里的方法都能被调用&#xff0c;da…

UNIAPP实战项目笔记38 购物车的添加商品到购物车功能

UNIAPP实战项目笔记38 购物车的加入购物车功能 通过mapGetters实现此功能 在 shopcart.vue中 使用mapGetters中的 addShopCart方法实现商品数量的增加 核心代码 detail.vue <template><view class"details"><!-- 商品图 --><swiper :indicator…

如何在 JavaScript 中使用三元运算符

随着 React 的版本更新&#xff0c;内置 Hooks 越来越多了。很多 Hook 可能你压根都没听说过。但是 useEffect 这个老牌 Hook&#xff0c;相信每个用 React 的同学应该熟悉。 不优雅的 useEffect 不过对很多刚接触 React 的人来说&#xff0c;使用 useEffect 非常容易出现无限…

figma对比sketch有什么优势和不足?

设计行业的工具层出不穷。在我看来&#xff0c;sketch它在一定程度上被颠覆了PS&#xff0c;如今sketch已成为许多设计团队的设计工具。 那么Figma相对于Sketch有哪些优点&#xff1f;有哪些不便&#xff1f;让我们从几个方面来了解一下。 两款软件非常适合创建UI和组件库。Ske…

【LeetCode】数组系列-双指针

一、双指针算法基本介绍 算法思想&#xff1a;在遍历对象的过程中&#xff0c;不是普通的使用单个指针进行访问&#xff0c;而是使用两个相同方向&#xff08;快慢指针&#xff09;或者相反方向&#xff08;对撞指针&#xff09;的指针进行扫描&#xff0c;从而达到相应的目的…

现代 React Web 开发实战——kanban实现卡片拖拽

前提摘要&#xff1a; 学习宋一玮 React 新版本 函数组件 &Hooks 优先 开篇就是函数组件Hooks 实现的效果如下&#xff1a; 学到第11篇了 照葫芦画瓢&#xff0c;不过老师在讲解的过程中没有考虑拖拽目标项边界问题&#xff0c;我稍微处理了下这样就实现拖拽流畅了 下面就…

Flink基础原理

一、Flink的概述 我感觉就是一个实时的流处理程序,可以实时的从数据源读取数据,然后根据设置好的一系列算法, 对数据进行处理,最终输出到目的存储介质&#xff08;数据库、缓存等&#xff09;中去,和jdk1.8里面的数据流处理很像, 也有并行流、map、fifter等处理。二、Flink的基…

实验八 数据处理与多项式处理(matlab)

实验八 数据处理与多项式处理 1.1实验目的 1.2实验内容 1.3流程图 1.4程序清单 1.5运行结果及分析 1.6实验的收获与体会 1.1实验目的 1&#xff0c;掌握数据统计和分析的方法&#xff1b; 2&#xff0c;掌握数值插值与曲线拟合的方法&#xff1b; 3&#xff0…

如何使用 .Net Core 实现数据库迁移 (Database Migration)

当我们在编写基于数据库的应用程序时&#xff0c;随着需求的增加和改变&#xff0c;我们需要升级我们的数据库&#xff0c;变更数据库表的字段&#xff0c;当我们的系统的不同版本被部署到了不同的客户那里&#xff0c;在需要给客户升级时&#xff0c;我们如何实现数据库模式 (…

注解和反射

注解和反射注解元注解反射注解 注解和注释的区别 注解 annotation写在程序之中&#xff0c;程序可以识别&#xff0c;做出相应的动作处理&#xff0c;具有检查和约束程序的作用 注释 comment 写在程序之中&#xff0c;供人参考&#xff0c;提示使用&#xff0c;程序会自动忽…

云原生系统学习[Kubernetes]——02 Pod、Deployment、Service

云原生系统学习[Kubernetes]——02 Pod、Deployment、Service [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9RomXCf-1668486830453)(./assets/image-20221103113345300.png)] 参考资料 什么是YAMLk8s官网文档k8s中文社区k8s-book 学多少&#…

Java:继承和多态

文章目录前言一、继承1.继承概念1.1 继承的语法1.2 父类成员方法1.2.1 子类访问父类的成员变量1.2.2 子类访问父类的成员方法1.3 super、this 关键字1.4 子类构造方法1.5 继承的方式1.6 final 关键字1.7 继承与组合二、多态2.1 多态的概念2.2 多态实现的条件2.3 对重写的认识2.…

Canvas 基础使用

一、基本的画布功能 创建 <canvas>元素时至少要设置 width 和 height 属性&#xff0c;这样才能告诉浏览器在多大面积上绘图。出现在标签包裹里的内容会在浏览器不支持 <canvas>元素时显示。比如&#xff1a; <canvas id"drawing" width"200&q…