Appium环境搭建-完整版

环境依赖

  • Node.js
  • Appium
  • Appium-desktop
  • Appium-doctor
  • Appium-Python-Client
  • Python
  • JDK
  • Andriod SDK

以上所需的软件本套教程素材包都提供,可以在视频左下角【获取素材】去对应章节下载,找到Appium环境配置全家桶

安装Node.js

下载地址:https://nodejs.org/en/download/releases/

注意:Node.js版本要注意与Appium兼容,本套教程Appium版本是1.7.2,则选择的Node.js版本为6.11.3

安装完成后在按键Win+R输入cmd打开Windows 命令提示符,

输入如下命令:

C:\Users\Shuqing>node -v

v6.11.3

 

C:\Users\Shuqing>npm -v

3.10.10

说明:

  • npm(node package manage)是node.js安装包管理工具,类似Python中的pip工具。
  • 如果显示‘npm’不是内部命令提示,则可以管理员省份运行cmd,如果还是失败,则需要检查一下环境变量是否配置,或者重新安装nodejs。

Appium 安装

Appium Server其实可以通过命令 npm install -g appium来安装。不过由于众所周知的网络原因,直接使用这样安装会非常非常慢,甚至会安装失败,所以我们可以使用国内镜像来安装。

选用的镜像是 淘宝NPM镜像

镜像设置

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

 

执行完成命令看到如下提示则表示设置完成

C:\Users\Shuqing> npm install -g cnpm --registry=https://registry.npm.taobao.org

npm WARN deprecated socks@1.1.10: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0

C:\Users\Shuqing\AppData\Roaming\npm\cnpm -> C:\Users\Shuqing\AppData\Roaming\npm\node_modules\cnpm\bin\cnpm

+ cnpm@5.2.0

added 764 packages in 63.767s

appium 安装

使用如下命令来执行安装:

#安装最新版本

cnpm install -g appium

 

#安装指定版本

cnpm install appium@1.7.2 -g

看到如下命令时则表示下载安装完成。

All packages installed (565 packages installed from npm registry, used 57s, speed 835.67kB/s, json 477(6.16MB), tarball 40.58MB)

[appium@1.8.0] link C:\Users\Shuqing\AppData\Roaming\npm\appium@ -> C:\Users\Shuqing\AppData\Roaming\npm\node_modules\appium\build\lib\main.js

npm的包安装分为本地安装(local)、全局安装(global)两种,一般我们推荐使用全局安装。

appium配置

安装完成之后可以使用如下命令查看appium的安装路径

C:\Users\Shuqing>where appium

C:\Users\Shuqing\AppData\Roaming\npm\appium

C:\Users\Shuqing\AppData\Roaming\npm\appium.cmd

appium运行

在控制台输入命令 appium即可启动appium服务,appium -v查看版本

C:\Users\Shuqing>appium -v

1.7.2

 

C:\Users\Shuqing>appium

[Appium] Welcome to Appium v1.7.2

[Appium] Appium REST http interface listener started on 0.0.0.0:4723

如果输入appium后显示:“appium不是内部或外部命令,也不是可运行的程序或批处理文件” 可以将appium安装的路径 如: “C:\Users\Shuqing\AppData\Roaming\npm”配置到系统环境变量Path中

退出appium

按键 ctrl+c 选择y 即可退出

安装Appium-desktop

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

上面提到的问题可以使用前面我们已经介绍了Appium Server来解决,Appium-desktop工具其实也封装了Appium server和Node.js依赖环境。

appium-desktop是我们初学者最容易上手的工具,后面课程首先会基于这个工具来讲解!然后再基于appium 命令来讲。

python环境安装配置

略。安装成功之后输入命令 python --version看到如下提示即可

C:\Users\Shuqing>python --version

Python 3.5.0

安装Appium-Python-Client

通过命令: pip install Appium-Python-Client 进行安装。 安装后可以通过如下命令来检测是否安装成功。

输入命令from appium import webdriver” 回车,如果控制台没有报错,则说明安装成功。

C:\Users\Shuqing>python

Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> from appium import webdriver

 

如果出现如下报错,则说明安装失败

ImportError: No module named 'appium'

ImportError: cannot import name “webdriver”

说明:装Appium-Python-Client安装后的路径一般为:

{Python 安装路径}\Lib\site-packages\appium

JDK安装配置

jdk下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

jdk环境变量配置

http://jingyan.baidu.com/article/624e74599e8ad834e8ba5a94.html

安装配置完成后,打开命令提示符窗口,然后输入如下面命令有对应提示说明安装配置成功。

C:\Users\Shuqing>java -version

java version "1.8.0_05"

Java(TM) SE Runtime Environment (build 1.8.0_05-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

Andriod sdk 安装

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

根据自己的PC平台下载对应版本即可。

安装完成后需要配置环境变量:ANDROID_HOME,第二章有详细说明。

安装 appium-doctor

appium-doctor可以检测Appium整体依赖环境配置情况。

C:\Users\Shuqing>cnpm install appium-doctor -g

  • 在控制台输入命令:appium-doctor 看到如下提示说明整体环境配置成功。

C:\Users\Shuqing>appium-doctor

info AppiumDoctor Appium Doctor v.1.4.3

info AppiumDoctor ### Diagnostic starting ###

info AppiumDoctor  ✔ The Node.js binary was found at: D:\program files\nodejs\node.exe

info AppiumDoctor  ✔ Node version is 6.11.3

info AppiumDoctor  ✔ ANDROID_HOME is set to: E:\Andriod_sdk

info AppiumDoctor  ✔ JAVA_HOME is set to: C:\Program Files\Java\jdk1.8.0_05

info AppiumDoctor  ✔ adb exists at: E:\Andriod_sdk\platform-tools\adb.exe

info AppiumDoctor  ✔ android exists at: E:\Andriod_sdk\tools\android.bat

info AppiumDoctor  ✔ emulator exists at: E:\Andriod_sdk\tools\emulator.exe

info AppiumDoctor  ✔ Bin directory of %JAVA_HOME% is set

info AppiumDoctor ### Diagnostic completed, no fix needed. ###

info AppiumDoctor

info AppiumDoctor Everything looks good, bye!

info AppiumDoctor

如果上面某一项显示为“X”则说明相关环境没有配置好,需要重新安装配置。

参考资料

https://testerhome.com/topics/13146

 

转载于:https://www.cnblogs.com/gongxr/p/10656393.html

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

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

相关文章

ubuntu更新python的指令_ubuntu下python模块的库更新(转载)

ubuntu下python模块的库更新亲测有用,非常好ubuntu中python模块的库下载一般用pip安装。然而有时候pip的下载源在国外,就导致下载速度非常慢。这里提供一个方法:首先命令行进入: cd ~/.pip在这个文件夹下面找到(如果没有则自己创建…

配置安全域名https申请免费证书并配置nginx运行环境

补全信息时选项 在这一步需要去查看进度,下载对应文件上传到对应站点根目录里按照要求建的隐藏类型的文件 如下图 讲证书文件按照下面操作 进行配置项配置https 如下 详情下载附件 server { listen 443; server_name wap.ssgsrz.com; ssl on; root /web/wap_ssgsr…

为什么要在Java SE 7的数字中使用下划线-在数字文字中使用下划线

JDK 1.7发行版引入了几个有用的功能,尽管其中大多数都是语法糖,但使用该功能可以大大提高可读性和代码质量。 这样的功能之一是在数字文字中引入下划线 。 从Java 7开始,您可以在Java源代码中向可读性更高的10_000_000_000写一个长数字&#…

如何刻录服务器安装系统光盘启动盘,如何刻录系统光盘

如何刻录系统光盘大家更多的是使用第三方刻录软件,但是win7系统自带刻录功能可以刻录系统盘。那么如何刻录系统光盘,怎么刻录系统盘?下面小编就来给大家介绍如何刻录系统光盘方法。win7系统自带刻录功能刻录系统光盘方法:一、前期准备&#…

plsql导入csv数据,未响应,invalid identifier

问题分析: 1.确保cvs字段名与表字段名一致,不要有空格 2.cvs字段对应表字段的大写,确保表字段都是大写 3.如果字段能对应上,plsql会自动识别出来转载于:https://www.cnblogs.com/code4app/p/9935365.html

微信小程序之发送模板消息(通过openid推送消息给用户)

一、获取access_token access_token是接口调用的凭证,目前有效期为两个小时,需要定时刷新,重复获取将导致上次获取的access_token失效。(注:不建议每次调用需要access_token的接口,都去重新获取access_toke…

python全栈开发内容_Python全栈开发之Day02

一. 回顾上节主要内容1. python是一门解释型弱类型高级语言2. python的解释器CPython, PyPy, JPython, IronPython, Ipython3. print(内容1, 内容2)4. 变量程序运行过程中产生的中间值, 暂时存储在内存中.供后面的程序使用命名规范:1. 由字母, 数字, 下户线组成2. 不能是数字开…

JBoss模块很糟糕,无法在JBoss 7下使用自定义Resteasy / JAX-RS

由于JBoss EAP 6.1 / AS 7.2.0是模块化的,并且您可以排除Web应用程序可见的模块,因此您希望可以轻松地忽略内置的JAX-RS实现(Rest Easy 2.3.6)并使用它。自定义的(3.0.6)。 但是,可悲的是&#…

Ansible-----条件判断与错误处理

when 在ansible中,条件判断的关键词是when --- - hosts: allremote_user: roottasks:- debug:msg: "System release is centos"when: ansible_distribution "CentOS"ansible_distribution就是facts信息中的一个key,之前如果我们需要…

Ansible 运维自动化 ( 配置管理工具 )

一、关于AnsibleAnsible是一个自动化部署工具;Ansible通过SSH协议实现远程节点和管理节点之间的通信。理论上说,只要管理员通过ssh登录到一台远程主机上能做的操作,Ansible都可以做到。Ansible是python开发的,故依赖一些python库和组件,如:paramiko&…

分解 python_面试官:如何用Python实现将一个整数分解成质因数?

概述今天主要分享一个关于分解质因数的实例,判断的逻辑稍微多了点,一起来看看吧~需求将一个整数分解质因数。例如:输入90,打印出90233*5思路其实根本不需要判断是否是质数,从2开始向数本身遍历,能整除的肯定是最小的质…

题解 P5259【欧稳欧再次学车】

实际上没什么可说的&#xff0c;暴力大模拟就好。 一定要开long long&#xff01; 一定要开long long&#xff01; 一定要开long long&#xff01; &#xff08;不然会炸数据的&#xff01;&#xff01;&#xff01;&#xff09; //Stand up for the faith! #include<bits/s…

如何:在Maven项目(JUnit,Mockito,Hamcrest,AssertJ)中测试依赖项

对于当今的大多数Java项目&#xff0c;JUnit本身还远远不够。 您还需要一个模拟库&#xff0c;也许还有其他东西。 在此迷你操作指南中&#xff0c;我介绍了可以在新的Java项目中开始的测试依赖项。 一切都始于JUnit Maven存储库中的junit组中有两个工件&#xff1a; junit和j…

elementUI vue 编辑中的input的验证残留清除

当使用编辑的时候, 假如上次的验证没通过, 报红了, 下次再点击编辑的时候还会报红,因此要清除验证残留, 方式有两种: this.$refs["from"].resetFields(); //移除校验结果并重置字段值this.$refs["from"].clearValidate(); //移除校验结果 更多专业前端知识…

Kali学习笔记25:Arachni使用(实现分布式扫描)

文章的格式也许不是很好看&#xff0c;也没有什么合理的顺序 完全是想到什么写一些什么&#xff0c;但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习&#xff0c;大牛和杠精们请绕道 Arachni不同于上次介绍的nikto和skipfish 是一个Web界面的一个Web扫描器 Arachni的强大不…

红帽正式宣布发布JBoss BPM Suite 6和JBoss BRMS 6

红帽公司刚刚宣布了这些期待已久的产品的全面上市 &#xff01; 要花费大量精力将社区代码转变为企业质量的软件&#xff0c;客户和最终用户可以在Red Hat支持的生产环境中使用这些代码。 现在是现在和潜在客户学习该产品&#xff0c;让合作伙伴开始使用它并学习基本知识&…

三星sd卡无法删除数据_单反相机里的SD卡在电脑中突然无法识别提示要格式化怎么办?...

大家在这个国庆佳节出去游玩都拍了不少精彩照片吧&#xff0c;昨天就有微信好友求助&#xff0c;说刚刚从外面游玩回到家里&#xff0c;准备把单反相机里64G存储SD卡中的照片用读卡器复制到电脑里&#xff0c;插入电脑后就提示如下图&#xff1a;在电脑中只显示“可移动磁盘”&…

CF1080F Katya and Segments Sets

题目链接&#xff1a;洛谷 题目描述&#xff1a;【看翻译】 这种强制在线的方法可真是奇妙。 主席树可真是奇妙。 我们用主席树的版本维护$x\leq l$的限制&#xff0c;用线段树维护$[a,b]$的限制&#xff0c;用节点的值来维护$r\leq y$的限制。 详细地说&#xff0c;就是先将线…

在微信小程序上,帮助中心界面实现类似手风琴案例

小程序wxml代码如下: <block wx:for"{{arrdata}}" wx:key""><view class"centent_title" tap"open_that" data-index"{{index}}"><view class"title" >{{item.name}}?</view><image…

python 等待其他线程执行完_面试官:如何让线程顺序执行,join,还有其他办法吗?...

面试官&#xff1a;如让线程顺序执行&#xff1f;我&#xff1a;使用Thread的join方法。面试官&#xff1a;除了join还有别的办法吗&#xff1f;我&#xff1a;目前只用过join。面试官&#xff1a;哦&#xff0c;那你了解CountDownLatch吗&#xff1f;我&#xff1a;不了解&…