Mac+Appium+Python+Pycharm环境搭建
为什么优先选择Mac做自动化测试?
1、既可以做iOS端的测试也可以进行Android端测试
2、Mac运行效率相对于Win要高很多,可以真正发挥appium的功能
以下是在Mac上完整搭建过程
一、JDK和SDK的安装和配置
1、下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、JDK的默认安装路径是 /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/
3、环境变量配置(如何bash_profile已存在就不需要重新创建)
touch ~/.bash_profile
vim ~/.bash_profile
4、复制以下内容
# SET PATH FOR JDK1.8
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
5、:wq保存后使用source ~/.bash_profile使配置立即生效
6、可以echo $JAVA_HOME查看是否显示刚才配置的路径
7、下载SDK http://sdk.android-studio.org
8、同样要配置环境变量
# SDK PATH
ANDROID_HOME=/Users/songxiao/work/sdk
PATH=$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH:.
export ANDROID_HOME
export PATH
9、验证
java -version
adb version
android
二、安装HomeBrew(https://brew.sh/index_zh-cn)
1、终端输入
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、#替换国内镜像源(可以不用,测试了下不替换也不慢)
①将brew文件下载到本地
cd ~ && curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install
②修改BREW_REPO和CORE_TAP_REPO
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
# This script installs to /usr/local only. To install elsewhere you can just
# untar https://github.com/Homebrew/brew/tarball/master anywhere you like or
# change the value of HOMEBREW_PREFIX.
HOMEBREW_PREFIX = "/usr/local".freeze
HOMEBREW_REPOSITORY = "/usr/local/Homebrew".freeze
HOMEBREW_CACHE = "#{ENV["HOME"]}/Library/Caches/Homebrew".freeze
HOMEBREW_OLD_CACHE = "/Library/Caches/Homebrew".freeze #BREW_REPO = "https://github.com/Homebrew/brew".freeze
BREW_REPO = "git://mirrors.ustc.edu.cn/brew.git".freeze #CORE_TAP_REPO = "https://github.com/Homebrew/homebrew-core".freeze
CORE_TAP_REPO = "git://mirrors.ustc.edu.cn/homebrew-core.git".freeze
③执行安装
/usr/bin/ruby ~/brew_install
④添加路径
vim ~/.bash_profile
#添加/etc/local/bin到PATH
source ~/.bash_profile
⑤验证
brew doctor
三、安装Python3
brew install python3
brew会直接下载最新版本的python,python3默认安装路径:
/usr/local/Cellar/python/3.6.4_4/bin
python2默认安装路径:
/usr/local/Cellar/python@2/2.7.14_3/bin
1、配置Python环境变量
# SET PATH FOR PYTHON3
PATH="/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/Cellar/python/3.6.4_4/bin:${PATH}"
export PATH
alias python="/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6" # SET PATH FOR PYTHON2
#PATH="/usr/local/Cellar/python@2/2.7.14_3/bin:${PATH}"
#export PATH
四、安装node.js
brew install node
1、检查版本
node -v
2、安装npm
由于npm源在国外,我们使用npm安装库时会比较慢,可以使用taobao的镜像源
1 npm config set registry http://registry.npm.taobao.org
3、安装carthage
Carthage 是一个管理 iOS 开发库依赖的包
brew install carthage
4、下载&安装&配置appium server
npm install -g appium
5、安装appium-doctor
npm install -g appium-doctor
6、验证
appium-doctor

五、安装Appium-Python-Client(如何用pip3安装不上可以在脚本中alt+回车进行安装)
pip3 install Appium-Python-Client
六、下载Appium客户端
https://github.com/appium/appium-desktop/releases

备注:
命令行启动和关闭appium服务
启动服务
①终端--appium,如果需要root权限--sudo appium
②一些参数设置
appium -a 127.0.0.1 -p 4723 --session-override
-a:要监听的ip
-p:要监听的端口号
--session-override:覆盖之前的session
③实际工作中可能用的比较多的
appium -a 127.0.0.1 -p 4723 -bp 4724 -U device --session-override
-bp 是连接Android设备bootstrap的端口号,默认是4724
--chromedriver-port 是chromedriver运行需要指定的端口号,默认是9515
-U 是连接的设备名称,如"adb devices"获取的设备标识
关闭服务
①查看端口pid
lsof -i : 4723/sudo lsof -i : 4723/sudo lsof -i :3000 | grep LISTEN/sudo lsof -i tcp:3000 | grep LISTEN
②关闭服务
kill -9 pid/sudo kill -9 pid
-9:强制关闭
卸载Appium Server
①卸载命令
npm uninstall appium -g
②清理缓存
npm cache clean
以上:如果出现权限问题,一律命令前加sudo即可
作者原创,转载请注明出处,谢谢。
Mac+Appium+Python+Pycharm环境搭建的更多相关文章
- Mac&Appium&Python自动化测试-环境搭建之安卓SDK
		
一.摘要 本博文将详细讲述在Mac环境下的jdk安装.配置以及环境校验:安卓sdk安装.配置以及环境校验 二.安装包工具准备: jdk1.8.0(64 位) android-sdk_r24.4.1-m ...
 - appium+python自动化☞环境搭建
		
前言:appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.略懂Python,所以接下来的教程是 appium+pyt ...
 - web自动化一(selenium+python+pycharm环境搭建)
		
年前公司刚刚搭起了web自动化测试框架的环境,趁着过完年还没全部忘掉,准备把如何搭建环境的方法和大家分享下,有哪里不对的地方,请批评指正,共同进步,共勉! 为此我把搭建环境所需的软件打包上传到百度云, ...
 - Appium+python自动化环境搭建(小白适用)
		
写在前面: 没开始搭建前听好多人说,学习appium80%的人都死于环境搭建,所以一开始很紧张,在搭建环境中也确实遇到了好几个问题,由于之前本人使用app测试经验很少,所以相当于app小白,因此有的问 ...
 - Appium+python自动化-环境搭建
		
一.前言 本文是在windows10 X64系统下搭建appium,流程如下: 1.安装jdk1.8+python3.6 (64位) 2.安装node.js 3.安装Appium-desktop 4 ...
 - Appium+python自动化环境搭建
		
一.步骤及环境 环境:Windows 7版本 64位系统(python) 1.jdk安装配置:jdk1.6.0 (64位) 2.android-sdk下载安装:android-sdk_r24.3.4- ...
 - Appium+Python自动化环境搭建-1
		
前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python. 小编擅长Python,所以接下来的教程是appium+p ...
 - Appium+python的环境搭建!
		
我的电脑64位操作系统 下载并安装所需软件: 1.adb环境 2.下载(python-2.7.12.amd64.msi)并安装python 3.下载并解压adt,如(adt-bundle-window ...
 - python+pycharm环境搭建
		
1.下载python安装包 https://www.python.org/downloads/ 2.下载pycharm安装包. https://www.jetbrains.com/pycharm/do ...
 
随机推荐
- PAT(B) 1072 开学寄语(Java)统计
			
题目链接:1072 开学寄语 (20 point(s)) 题目描述 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使 ...
 - 禁止服务向 eureka 上注册配置文件
			
### 禁止向注册中心注册服务eureka.client.register-with-eureka=false
 - MySQL 体系结构及存储引擎
			
MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...
 - 在论坛中出现的比较难的sql问题:11(字符分拆 多关键字匹配问题)
			
原文:在论坛中出现的比较难的sql问题:11(字符分拆 多关键字匹配问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉 ...
 - NoSql 使用小结
			
NoSql 使用小结 足够的冗余 如果出现要拿某个 id 去查另外的 collection 的情况,说明应该往这个增加所要查询的字段 实在要做关联查询的话,是不是应该考虑关系型的数据库,关系和非关系混 ...
 - 查询并批量插入数据的Sql命令
			
INSERT INTO student(id,xuesheng,yuwen,shuxue,yingyu) SELECT id,xuesheng,yuwen,shuxue,yingyu FROM stu ...
 - mongodb 备份与还原操作
			
环境信息: 版本: mongodb 3.2 备份: mongodump 恢复: mongorestore 本文参考官方文档:https://docs.mongodb.com/manual/refere ...
 - JavaScript中对null和undefined的理解
			
前沿: 今天工作中遇到了监视一个变量是undefined,结果判断写的是==null 返回值是true,这个结果引起了我对这两个东西的兴趣. 查询了相关的文章理解并测试了.发现有以下特点: 1.广义上 ...
 - iOS UIView视图的图层控制
			
1.添加视图 insertSubview:atIndex: //放在子视图数组的具体索引位置 insertSubview:aboveSubview: //某个子视图前面 insertSubvi ...
 - MySQL增删查改语句(入门)
			
目录 create alter: insert delete update select 数据库定义语句: create:创建数据库及表对象 drop:删除数据库及表对象 alter:修改数据库及表对 ...