首先用vagrant配置一个Linux开发环境:
Vagrant只是一个让你可以方便设置你想要的虚拟机的便携式工具,它底层支持VirtualBox、VMware甚至AWS作为虚拟机系统,本书中我们将使用VirtualBox来进行说明,所以第一步需要先安裝Vagrant和VirtualBox。
VirtualBox安装:下载地址,麻瓜安装,任意路径https://www.virtualbox.org/wiki/Downloads
Vagrant安装:最新版本的Vagrant已经无法通过gem
命令来安装,因为依赖库太多了,所以目前无法使用gem
来安装,目前网络上面很多教程还是类似这样的命令,那些都是错误的。推荐官网下载安装包,如上麻瓜安装https://www.vagrantup.com/downloads.html
一般来说下载安装这两个就准备ok了,不过有时候win下也会有些奇怪的不可预知错误,我第二次安装遇见了...打上这补丁就okhttp://download.virtualbox.org/virtualbox/5.0.10/Oracle_VM_VirtualBox_Extension_Pack-5.0.10-104061.vbox-extpack
ok,准备工作以上就绪
键入以下命令:
mkdir ubuntu14.04
cd ubuntu14.04
vagrant init ubuntu/trusty64 #init 后面自行输入,那是虚拟机名字
# modify the created Vagrantfile configuration file 在当前目录下生成了一个vagrantfile配置文件
vagrant up
vagrant ssh
一般win下不支持vagrant ssh,会报错:ssh client not found ,需要安装一个第三方客服端进行连接,这里推荐msys,它可以打造类似于Linux shell下的体验 http://sourceforge.net/projects/msys2/
下载好msys2包后 运行安装如下
$ pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime
$ pacman-Su
$ pacman -S git #安装git和ssh 方便你在win下使用git
以上,就完成了vagrant的Linux开发环境搭建。
安装webdriver I/O:
我这里用的是nodejs做selenium2.0的开发,用msys2 shell启动Ubuntu
我装的是命令行Ubuntu 无界面,装一个xvfb来模拟x-server端
sudo apt-get install xvfb
#安装xvfsudo apt-get install firefox #安装Firefox安装java$ sudo apt-add-repository ppa:webupd8team/java$ sudo apt-get update$ sudo apt-get install oracle-java7-installer$ export JAVA_HOME=/usr/lib/jvm/java-7-oracle # append to your ~/.profile file.
安装nodejs
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.2/install.sh | bash
$ nvm #nvm nodejs版本管理器 看是否有输出,有就安装成功了
$ nvm install 0.12 #可取官网查看最新版本 nvm可多样管理这里不作熬诉
安装selenium-standalone server
$ npm install [email protected] -g
$ selenium-standalone install
$ xvfb-run --server-args="-screen 0, 1366x768x24" selenium-standalone start 完成后另开一个shell 这是模拟的一个 server端
测试准备$ mkdir my-test
$ cd my-test
$ npm init -y # 初始化nodejs项目
$ npm install webdriverio #安装 webdriverio 包
$ nano baidu-test.js
$ # vim baidu-test.js #nano附个百度的小测试 baidu-test.js#var webdriverio = require(‘webdriverio‘);var options = { desiredCapabilities: { browserName: ‘firefox‘ }};var browser = webdriverio .remote(options) .init();
browser .url(‘https://www.baidu.com‘) .title(function(err, res) { console.log(‘Title was: ‘ + res.value); }) .end();#$ node baidu-test.jsTitle was: 百度一下,你就知道如果你对coffeeScript也感兴趣可以用coffee来做测试 baidu-test.coffee#webdriverio = require ‘webdriverio‘options = desiredCapabilities: browserName: ‘firefox‘
webdriverio .remote options .init() .url ‘https://www.baidu.com‘ .title (err, res)-> console.log ‘Title was: ‘ + res.value .end()# this is a comments#
$ npm install -g coffee(安装)$ coffee baidu-test.coffeeTitle was: 百度一下,你就知道在附一个javascript与coffeescript语法对比 http://coffeescript.org/IBM 翻译中文文档 http://www.ibm.com/developerworks/cn/views/web/libraryview.jsp?search_by=%E5%88%9D%E6%AD%A5%E4%BA%86%E8%A7%A3+CoffeeScript
以上就是我近期学会的用vagrant搭建虚拟机基于nodejs selenium 自动化测试的开发环境。 第一次写博,希望大家多多指教!
————dognie