首先用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 #安装xvf sudo 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 selenium-standalone@latest -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.js Title 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.coffee Title 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