Mac下Appium环境搭建:

消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为TestYao刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速把移动端自动化这块搞起来,试用几款目前流行的工具,腾讯的xtest定制版、神州数码的自动化测试平台、开源rf+appium框架。

经过一段试用最终还是选择了rf+appium主要原因有:

1.开源,网上社区活跃

2.扩展性强,针对不同项目不同的需求,封装不同的方法来实现

  3.基于python语言,语言比较轻,编译方便,简单便捷

4.robotframework层次结构明了,脚步维护简单便捷

  5.。。。。。。这几个是主要的其他就不说了

下面就开始搭建mac+appium的环境吧,网上搜出来的方法都是安装一大堆插件,刚开始我也是一脸懵逼,后来才知道安装插件都是为后面安装软件和appium运行环境做准备,所以不要问为什么了,照着装吧,装完就知道了:(之前都是专注于web端和andriod,对mac的认知程度还是比较基础,以后慢慢给提高起来,大神勿喷,哈哈)

安装RVM(用来安装更新ruby)

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable
// 修改 RVM 的 Ruby 安装源到国内的 [淘宝镜像服务器](http://ruby.taobao.org/),这样能提高安装速度
sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db

安装brew(后面安装软件使用不多说)

安装命令如下:
curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1

查看是否安装成功:

brew -v

注意:如果提示安装成功但是执行上面命令提示找不到brew,那可能是权限的问题,直接执行:

sudo -s

输入root密码

然后再执行,或是切到安装目录下执行,自己试吧,反正笔者比较水,刚接触mac就是这么解决的

当brew安装成功后,就可以随意安装自己想要的软件了,例如wget,命令如下:
sudo brew install wget

卸载的话,命令如下:
sudo brew uninstall wget

查看安装软件的话,命令如下:
sudo brew search /apache*/

注意/apache*/是使用的正则表达式,用/分割。

安装或更新Ruby(因为一般系统自带的版本太低安装软件会报错)

查看ruby版本:rvm list known
rvm install 2.2.0
rvm use 2.2.0
rvm use 2.2.0 --default
rvm list
安装:rvm isntall 2.2.0

安装node.js(通过上面的brew来安装)

brew install node

在我执行上面的命令之后,我想安装软件:

又提示了一下错误:

Error: /usr/local/Cellar is not writable. You should change the
ownership and permissions of /usr/local/Cellar back to your
user account:
sudo chown -R $(whoami) /usr/local/Cellar
Error: Cannot write to /usr/local/Cellar

我根据提示再次执行命令:

sudo chown -R $(whoami) /usr/local/Cellar

继续执行安装又报错,不知道看官醉不醉,反正笔者已是经醉了,这对用惯win系统的人简直是一种折磨,不要灰心继续童靴:

Error: Could not link:
/usr/local/share/doc/homebrew

Please delete these paths and run `brew update'

继续执行:

brew update

然后,再次安装我需要的软件,问题解决了。

issuserdeMacBook-Pro:~ issuser$ node -v
v8.2.1

appium安装(通过node去安装)

通过命令可以下载到最新的版本,命令如下:
npm install -g appium
也可以直接在官网下载appium.dmg安装:
https://github.com/appium/appium-desktop/releases/tag/v1.1.1

安装appium-doctor(因为新版本的appium已经没有了doctor来检查环境了,需要单独安装,老版本的自带)

 cnpm install -g appium-doctor

使用appium-doctor检查appium环境

$ appium-doctor

info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ✔ Node version is 8.2.1
info AppiumDoctor  ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor  ✔ Xcode Command Line Tools are installed.
info AppiumDoctor  ✔ DevToolsSecurity is enabled.
info AppiumDoctor  ✔ The Authorization DB is set up properly.
info AppiumDoctor  ✔ Carthage was found at: /usr/local/bin/carthage
info AppiumDoctor  ✔ HOME is set to: /Users/issuser
WARN AppiumDoctor  ✖ ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ JAVA_HOME is NOT set!
WARN AppiumDoctor  ✖ adb could not be found because ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ android could not be found because ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ emulator could not be found because ANDROID_HOME is NOT set!
WARN AppiumDoctor  ✖ Bin directory for $JAVA_HOME is not set
info AppiumDoctor ### Diagnostic completed, 6 fixes needed. ###
info AppiumDoctor
info AppiumDoctor ### Manual Fixes Needed ###
info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:
WARN AppiumDoctor - Manually configure ANDROID_HOME.
WARN AppiumDoctor - Manually configure JAVA_HOME.
WARN AppiumDoctor - Manually configure ANDROID_HOME and run appium-doctor again.
WARN AppiumDoctor - Add '$JAVA_HOME/bin' to your PATH environment
info AppiumDoctor ###
info AppiumDoctor
info AppiumDoctor Bye! Run appium-doctor again when all manual fixes have been applied!
info AppiumDoctor

带x号的都是为成功的挨个配置久好了。

修改android和java的环境变量(安装方法就不说了,以后有时间整理,我这里直接修改.bash_profile文件。)

修改.bash_profile文件有两种方式:

1.执行命令(提示查看自己jdk安装目录的命令:/usr/libexec/java_home [-V]):

vi .bash_profile

添加内容

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export ANDROID_HOME=/Users/issuser/Library/Android/sdk
export PATH=$ANDROID_HOME:$PATH
export PATH=${PATH}:/Users/issuser/Library/Android/sdk/platform-tools:/Users/issuser/Library/Android/sdk/tools

按esc键输入:

wq!

保存退出

注意:看官可以把上面的安装路径替换成自己的即可,有的人会遇到保存时提示.bash_profile文件为只读模式无法保存,那就用下面的方法吧,没办法很蛋疼mac

2.通过finder找到.bash_profile文件通过编辑器去修改(此文件默认是隐藏的,需要用下面的方式查找)

在 macOS Sierra,我们可以使用快捷键:   Command + Shift + .    来快速(在 Finder 中)显示和隐藏隐藏文件了。

找到文件后,直接用电脑上安装的编辑器编辑就好了

再去执行: appium-doctor

启动apium连接手机进行简单录制和xpath定位:

我这里以android手机和知乎app为例子来演示

1.下载知乎app安装包放到桌面文件夹

2.打开appium并启动

4.启动成功后点击newsession填写app信息和安装设备信息:

点击start session,如果成功了就进入了录制界面,如果没有进入查看appium log报错信息去解决

(前提是手机和电脑连接正常通过adb devices命令可以找到设备udid)

ok,总算是大功告成了,nn的花了我2天的时间之后有时间在整理RF+Appium框架自动化测试系列二,敬请期待!

RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难的更多相关文章

  1. Appium移动自动化测试(一)--Mac安装Appium

    一.Appium安装 1. 直接安装:Appium官网下载:https://bitbucket.org/appium/appium.app/downloads/ 这里mac系统升级到 Sierra后, ...

  2. Mac下Boost环境搭建

    Boost,一个功能强大.跨平台.开源而且免费的C++程序库,可以在其官网了解更多:http://www.boost.org,C++标准经过不断的升级完善,现在已经功能越来越吸引人了,Boost开发过 ...

  3. mac下wordpress环境搭建

    mac下本来就有apache和php,只需要配置以下+安装mysql 1.Apache 预装目录在  /etc/apache2: 默认的网站目录在 /Library/WebServer/Documen ...

  4. mac下 jenkins 环境搭建

    这几天搞了一些持续集成的工作,在所难免的接触到了jenkins ,下边写一下jenkins 在 mac os 环境下的搭建和配置. 1.tomcat 下载 前往apache 官网下载所需版本的tomc ...

  5. mac下android环境搭建笔记(android studio)

    本文记录了本人在mac上配置android开发环境的一些过程,为了方便直接选用了官方的IDE– Android Studio .本文包括了android studio的安装.创建第一个hello wo ...

  6. 【selenium 3】 Mac 下测试环境搭建 Firefox 47+ gecko driver Mac

    错误代码如下:File "/usr/local/lib/python2.7/dist-packages/selenium-3.0.0b2-py2.7.egg/selenium/webdriv ...

  7. MAC 下SFT环境搭建及使用

    基本环境的搭建就不说了,网上一搜就是一堆 记录下正常的使用过程,主机-服务器是MAC机,从机-Windows机子 1.STF服务启动(挂后台的服务,启动后输入 exit退出进程即可) 后台启动DB:n ...

  8. [Android]mac下开发环境搭建

    好像没神马好些的? 1.下载adt-bundle-mac-x86_64bit(http://developer.android.com/sdk/installing/bundle.html) 2.解压 ...

  9. mac下go环境搭建开发web工程

    1,golang下载: http://www.golangtc.com/download https://golang.org/ https://beego.me/docs/intro/ 2,安装go

随机推荐

  1. 身份证识别OCR,开启视频模式扫一扫即可识别身份证信息

    文章摘要:身份证识别等证件识别OCR技术在各个行业得到广泛应用,例如:车险移动查勘会用到身份证识别.行驶证识别.车架号识别: 寿险移动展业会用到名片识别.银行卡识别:电信实名制代理网点采集身份证信息会 ...

  2. angular.js小知识总结

    angular-watch.html 代码如下: <script> var app = angular.module('app',[]); app.controller('ctrl',fu ...

  3. django-xadmin列表页filter关联对象搜索问题

    环境:xadmin-for-python3 python3.5.2 django1.9.12 问题描述:Product ProductSku两个实体,ProductSku FK外键关联Product ...

  4. js中各个类型的转换总结

    字符串转换为数组:   1 正则表达式var string=“abcdedef”var obj=string.replace(/(.)(?=[^$])/g,"$1,").split ...

  5. js实现类似iphone的秒表-添加平均数功能

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  6. Python的语言类型

    Python 是强类型的动态脚本语言 . 强类型:不允许不同类型相加 动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候 脚本语言:一般也是解释型语言,运行代码只需要一个解释器 ...

  7. Apollo框架试玩

    2017年7月5日,百度举行了AI开发者大会,在会上发布了Apollo项目,并进行了演示,该项目在Github上已经能够被访问.出于一个程序员的好奇,昨天试玩了一把,确实不错. http://apol ...

  8. Linux下进行硬盘挂载、分区、删除分区,格式化,卸载方法

    本文简单介绍了下文件系统及其操作(df命令),磁盘分区.格式化,还有最主要是挂载操作. 在这里对"挂载"做个说明,我们都知道文件系统是创建在磁盘上面的,每个文件系统都有独立的ino ...

  9. vijos1101题解

    题目: 研究表明,这种传染病的传播具有两种很特殊的性质: 第一是它的传播途径是树型的,一个人X只可能被某个特定的人Y感染,只要Y不 得病,或者是XY之间的传播途径被切断,则X就不会得病. 第二是,这种 ...

  10. 【SqlServer系列】表单查询

    1   概述 如下几个问题,如果你能解决,请继续往下看,若不能解决,请先复习SQL基础知识,再来阅读本篇文章.本篇文章深度中等左右. Q1:表StudentScores如下,用一条SQL语句查询出每门 ...