RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
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环境搭建)万事开头难的更多相关文章
- Appium移动自动化测试(一)--Mac安装Appium
一.Appium安装 1. 直接安装:Appium官网下载:https://bitbucket.org/appium/appium.app/downloads/ 这里mac系统升级到 Sierra后, ...
- Mac下Boost环境搭建
Boost,一个功能强大.跨平台.开源而且免费的C++程序库,可以在其官网了解更多:http://www.boost.org,C++标准经过不断的升级完善,现在已经功能越来越吸引人了,Boost开发过 ...
- mac下wordpress环境搭建
mac下本来就有apache和php,只需要配置以下+安装mysql 1.Apache 预装目录在 /etc/apache2: 默认的网站目录在 /Library/WebServer/Documen ...
- mac下 jenkins 环境搭建
这几天搞了一些持续集成的工作,在所难免的接触到了jenkins ,下边写一下jenkins 在 mac os 环境下的搭建和配置. 1.tomcat 下载 前往apache 官网下载所需版本的tomc ...
- mac下android环境搭建笔记(android studio)
本文记录了本人在mac上配置android开发环境的一些过程,为了方便直接选用了官方的IDE– Android Studio .本文包括了android studio的安装.创建第一个hello wo ...
- 【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 ...
- MAC 下SFT环境搭建及使用
基本环境的搭建就不说了,网上一搜就是一堆 记录下正常的使用过程,主机-服务器是MAC机,从机-Windows机子 1.STF服务启动(挂后台的服务,启动后输入 exit退出进程即可) 后台启动DB:n ...
- [Android]mac下开发环境搭建
好像没神马好些的? 1.下载adt-bundle-mac-x86_64bit(http://developer.android.com/sdk/installing/bundle.html) 2.解压 ...
- mac下go环境搭建开发web工程
1,golang下载: http://www.golangtc.com/download https://golang.org/ https://beego.me/docs/intro/ 2,安装go
随机推荐
- Linux网络服务12——NFS共享服务
Linux网络服务12--NFS共享服务 一.NFS简介 端口号:TCP.UDP 111端口 NFS(Network File System)网络文件系统,是一种基于TCP/IP传输的网络文件系统协议 ...
- angularJS directive详解(自定义指令)
Angularjs指令定义的API AngularJs的指令定义大致如下 其中return返回的对象包含很多参数,下面一一说明 1.restrict (字符串)可选参数,指明指令在DOM里面以什么形式 ...
- html之改变图片透明度而不改变文字的透明度--两种方法实现
图片与图片上的文字设置不同的透明度的两种方法: 第一种方法:背景图+定位+background: url(timg.jpg)no-repeat; <!DOCTYPE html> <h ...
- postcss使用
准备 构建工具为Gulp基于PostCSSPostCSS插件 CSSNext 用下一代CSS书写方式兼容现在浏览器PostCSS插件 Autoprefixer 为CSS补全浏览器前缀PostCSS插件 ...
- 最新的极光推送服务器端代码(java服务器后台向手机端自定义推送消息)
一共两个类 一个Jdpush 一个JpushClientUtil 代码如下 注解都写的很清楚 package com.sm.common.ajpush; import org.slf4j.Log ...
- Linux内核互斥锁--mutex
一.定义: /linux/include/linux/mutex.h 二.作用及访问规则: 互斥锁主要用于实现内核中的互斥访问功能.内核互斥锁是在原子 API 之上实现的,但这对于内核用户是不可见 ...
- 初步研究一下sourceTree
今天研究sourceTree,在此小结一下 1.下载链接:https://www.atlassian.com/software/sourcetree 2.安装,注册账户登录,连接到GitHub账号上, ...
- Azure PaaS服务密钥的安全性
Azure PaaS服务,比如存储,Redis缓存,服务总线,IoT中心等等,一般通过密钥来认证客户端,也就是说只有提供正确密钥的客户端才能访问和使用对应的Azure PaaS服务,所以这个密钥是很重 ...
- MySQL触发器更新和插入操作
一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动 ...
- laravel+vue组合的项目中引入ueditor(打包成组件形式)
前言:最近写东西需要用到ueditor,并且需要是在vue组件中引入. (本博客默认你已经配置了laravel+vue的项目环境,如果还没有配置好的的小伙伴,可以看看我的另一篇博客,链接: http: ...