Appium环境搭建(Mac)
为什么选择Mac做自动化测试?
- 既可以做iOS端的测试也可以进行Android端测试
- Mac运行效率相对于Win要高很多,可以真正发挥appium的功能
环境依赖
- Node.js
- Appium
- Appium-desktop
- Appium-doctor
- Appium-Python-Client
- Python
- JDK
- Android SDK
安装 Homebrew
终端输入:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
可以参考Homebrew中文文档
安装Node.js
brew install node
安装完成后输入如下命令:
node -v
npm -v
说明:
- npm(node package manage)是node.js安装包管理工具,类似Python的pip工具
- 由于npm源在国外,我们使用npm安装库时会比较慢,可以使用taobao的镜像源
npm config set registry http://registry.npm.taobao.org
安装Appium Server
安装最新版本(安装时间较长,请耐心等待)
npm install -g appium
也可以安装指定版本
npm install appium@1.7.2 -g
安装完成后输入如下命令:
appium -v
启动appium server:
终端输入appium
退出appium server:
终端输入control + C
说明:
- npm的包安装分为本地安装(local)、全局安装(global)两种,一般我们推荐使用全局安装
配置Python环境
安装Python多版本管理工具
输入如下命令:
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
配置pyenv环境变量:
# pyenv
export PATH="/Users/xxx/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
pyenv基本命令:
pyenv versions # 查看虚拟环境Python版本
pyenv install -l # 列出所有可安装的Python版本
pyenv install 3.7.3 # 安装3.7.3版本的Python
pyenv global 3.7.3 # 设置全局Python版本为3.7.3
pyenv uninstall 3.7.0 # 删除3.7.0版本
pyenv优点:
- 多版本并存
- 方便管理和灵活切换不同Python版本
注意:
- 安装过程中可能会报错[install] Error 1 zipimport.ZipImportError安装失败
终端直接输入:sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
重新进行安装 - 不同版本Python都会安装到目录
/用户/xxxx/.pyenv/versions/
安装Appium-Python-Client
pip3 install Appium-Python-Client
安装Appium desktop
https://github.com/appium/appium-desktop/releases
安装JDK
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
验证:
java -version
安装SDK
配置sdk环境变量:
# sdk
export ANDROID_HOME="/Users/xxx/workspace/android-sdk"
PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin
export PATH
环境立即生效:
source ~/.bash_profile
验证:
adb version
安装appium-doctor
appium-doctor可以检测Appium整体依赖环境配置情况
npm install -g appium-doctor
验证环境:
appium-doctor
感谢阅览本文
转载请注明出处
Appium环境搭建(Mac)的更多相关文章
- Mac Appium环境搭建
安装brew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" 安装java brew install ...
- Appium环境搭建(win/mac)
课程使用Windows+Android虚拟机, 建议使用Windows系统学习课程, 如使用Mac系统, 请另外准备一台Andorid手机 Windows系统Appium环境搭建 安装JDK并配置环境 ...
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- Mac OS下Appium环境搭建及Genymotion模拟器安装
说明:本机Mac本上已经安装的有:Python3.JDK.Node.js. Selenium Appium环境搭建 Step1:安装Appium Python Client库 1,命令:pip ins ...
- (干货分享)mac python+appium环境搭建
因为mac本自带python2.x(不建议卸载,因为本本本身有很多依赖与此),所以装python3的过程极其坎坷,勉强装好后也总是各种报错.这次装appium环境,直接把原来的python3卸了,用h ...
- MAC平台基于Python的Appium环境搭建
前言 最近笔者要为python+appium课程做准备,mac在2019年重新安装了一次系统,这次重新在mac下搭建appium环境,刚好顺带写个文稿给大家分享分享搭建过程. 一.环境和所需软件概述 ...
- Appium python自动化测试系列之appium环境搭建(二)
2.1 基础环境搭建 当我们学习新的一项技术开始基本都是从环境搭建开始,本书除了第一章节也是的,如果你连最基础的环境都没有那么我们也没必要去说太多,大概介绍一下: 1.因为appium是支持andr ...
- 3.移动端自动化测试-appium环境搭建(原理)
appium自动化原理: 需要服务端(appium启动),手机端(adb连接设备),脚本端(pycharm)就可以进行 自己总结下: 手机和脚本连接:1.adb连接,2靠脚本导入驱动. 脚本和服务端连 ...
- Robot framework + appium环境搭建
Robot framework+appium环境搭建 首先梳理一下要用到的工具和安装包: 1. Android + JAVA. jdk : http://www.oracle.com/technetw ...
- (一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10)
(一)Hololens Unity 开发环境搭建(Mac BOOTCAMP WIN10) 系统要求 64位 Windows 10 除了家庭版的 都支持 ~ 64位CPU CPU至少是四核心以上~ 至少 ...
随机推荐
- [十一集训] Day1 (2018-2019 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2018))
A Altruistic Amphibians 原题 题目大意: n只青蛙在高度为d的井中,每只有跳跃距离.重量和高度,每只青蛙可以借助跳到别的青蛙的背上而跳出井,每只青蛙能承受的最大重量是自身重量, ...
- Java开发笔记(一百零九)XML报文的定义和解析
前面介绍了JSON格式的报文解析,虽然json串短小精悍,也能有效表达层次结构,但是每个元素只能找到对应的元素值,不能体现更丰富的样式特征.比如某个元素除了要传输它的字符串文本,还想传输该文本的类型. ...
- Django框架之DRF get post put delete 使用简单示例 (利用序列化反序列化)
路由配置 # 路由 from django.conf.urls import url from django.contrib import admin from app01 import views ...
- 手写RPC框架(netty+zookeeper)
RPC是什么?远程过程调用,过程就是业务处理.计算任务,像调用本地方法一样调用远程的过程. RMI和RPC的区别是什么?RMI是远程方法调用,是oop领域中RPC的一种实现,我们熟悉的restfull ...
- C# HtmlAgilityPack+Selenium爬取需要拉动滚动条的页面内容
现在大多数网站都是随着滚动条的滑动加载页面内容的,因此单纯获得静态页面的Html是无法获得全部的页面内容的.使用Selenium就可以模拟浏览器拉动滑动条来加载所有页面内容. 前情提要 C#HtmlA ...
- 15天入门RT-Thread之第一天
今天开始学习jiezhi15天的RT-Thread入门系列课程 感谢RT-Thread提供的免费课程,终于可以系统入门RT-Thread ,感兴趣的同学可以关注RT-Thread官方公众号,获取最新的 ...
- 关于素数表-C++
废话不多说,先贴代码: #include <iostream> using namespace std; bool is_prime(int n) { || n == ) return f ...
- ubuntu18.04使用vscode报pylint is not install错误
1.安装pip:sudo apt-get install pip,如果使用python3则需要安装pip3:sudo apt-get install python3-pip 2.使用pip安装pyli ...
- tp框架防止表单重复提交
转载 框架官方 http://www.thinkphp.cn/topic/9090.html 第三方 https://my.oschina.net/caomenglong/blog/728908
- css实现 textarea 高度自适应
此textarea非彼textarea ,有经验的老司机们应该知道html标签contenteditable这个属性. 利用此属性使当前的标签成为可以输入的状态,等同于输入框. 演示地址:https: ...