原著:Jeff Morgan 翻译:尔冬 校对:LisaYu
2. 做好准备
这一章我们将帮助你安装软件,同时还会提供一些你在运行最初几章的练习程序时将会需要用到的工具的背景知识。后面章节我们将和你一起了解另外的安装事项,包括更多用于移动端应用程序测试和其它目标平台测试的特定软件。
工具如何安装和配置依赖于你所使用的操作系统。在这一章中,我们将会覆盖到Windows,Mac OS X和Linux平台,包括在这些操作系统上安装和验证所有工具所必须的详细步骤。
Windows平台
我们需要安装的第一个软件叫做Ruby[26]。它是一门编程语言[27],可以用来编写cucumber验收测试。
安装Ruby
本书中的所有例子运行于Ruby 1.9.3或更高版本。如果你是第一次安装Ruby,我建议你获取最新的可用版本。如果你已经安装过Ruby且版本较早,我建议你升级。
Windows平台有安装程序,你可以从http://rubyinstaller.org/downloads/[28]下载。只需要点击最新版本的链接并下载到你的本地计算机。如果你已经这么做了,那么下载最新的开发包[29]。你将很快需要它。确保你下载的开发包版本与你下载的Ruby匹配。
运行Ruby安装程序,通过选中下方展示图片中的两个选项来确保你添加了Ruby可执行文件至你的PATH环境变量且做了正确的文件关联。
余下的安装过程只要采用默认设置即可。当安装完成时打开一个命令提示符并输入"ruby -v"。你应该看到类似这样的输出:
如果你看到的不是这类输出你将需要手工添加Ruby到你的PATH环境变量。
下一步是安装开发包。你在下载Ruby安装程序的同时应该已经把它下载好了。当你运行下载文件,它将提示你输入"Extract to:"。只要在对话框里输入"C:\DevKit"并点击OK。
文件提取完成后,返回我们早前打开的命令提示符并改变位置到"C:\DevKit"目录。在那里你可以执行以下两个命令:
1 ruby dk.rb init
2 ruby dk.rb install
Ruby现在在你的电脑上安装完成了,已经准备好进行下一步。
Mac OS X平台
尽管OS X已经预装了Ruby,但它的版本较老。在后续小节我们将升级Ruby并安装所有我们此时需要的额外软件和工具。
Xcode
在我们能够安装Ruby之前我们需要安装一个编译器和一些命令行工具。第一个我们将要安装的叫做Xcode[30]。它是用于构建Mac和iPhone/iPad应用的Apple开发环境。安装包含了编译器和其它我们为了编译/安装Ruby和一些相关软件将会需要用到的构建工具。提醒一下,从AppStore下载容量会很大且当下载完成时软件并未在你的系统中安装。下载仅仅只是安装了一个Xcode安装程序,你得运行它来安装真正的Xcode工具。
在你完成Xcode的安装之后你将需要用它来安装命令行工具,这是Xcode的一个可选部分。继续启动Xcode,而后在Xcode菜单中选择"Preferences"菜单项。在显示的对话框中选择上方的"Downloads"图标并且确认"Components"标签页被选中。在那里你可以选择安装命令行工具。
MacPorts或Homebrew
Macports[31]和Homebrew[32]是用于在OS X上安装类unix工具和库的工具。在Ruby的安装过程中可以利用它们中的任意一个来获取和安装任何需要的依赖。我个人使用Macports,但我知道许多人更喜欢Homebrew。请选择一个下载并在你的系统中安装。
rvm
Rvm是Ruby版本管理器。它帮助我们安装和管理多个Ruby版本和多重gems设置。安装rvm你只要粘贴以下这行到终端窗口并执行它。
1 curl -sSL https://get.rvm.io | bash -s stable
当rvm安装完成,请退出你的终端会话并启动一个新的。你可以输入"rvm list known"来确认rvm是否已正确安装。它将会列出所有可安装的Ruby版本。我们总算准备好安装Ruby了。
Ruby安装
我们将使用rvm来安装Ruby。只要粘贴以下这行到终端窗口并执行它。
1 rvm install 2.0.0
这个过程将会持续一会儿,当它完成时Ruby就已经安装好了。以下命令将选择你刚安装的Ruby版本将它置为默认Ruby。
1 rvm use 2.0.0 --default
Linux平台
Linux是一个非常流行的Ruby开发平台。以下步骤将在Ubuntu 12.04上安装Ruby。
Ruby安装
在Linux上我们将再次使用rvm。这里是在你的系统上安装Ruby的一些命令。
1 sudo apt-get update
2 sudo apt-get install curl
3 curl -sSL https://get.rvm.io | bash -s stable
4 source ~/.bash_profile
5 rvm install 2.0.0
当这些命令完成时你将可以确认版本并看到类似以下的内容:
Ruby 2.0.0现在应该在你的Linux电脑上安装好了。
所有操作系统
以下步骤可以在所有平台执行。
安装Ruby Gems
现在我们希望安装一些Ruby Gems。请在一个命令提示符或终端中输入以下内容:
1 gem install rake bundler yard watir-webdriver
如果你正在使用Linux你将需要在前面这行命令之前输入sudo。它会安装我们在进行后续章节时将要使用到的三个gems。在我们通过练习介绍新的gems的时候,也会提示你去安装它们。
浏览器工具
我们在书中将始终使用Firefox[34]浏览器。如果你还没有安装,那么请现在安装它。当浏览器安装好时,我们将需要安装一个附加组件。启动Firefox并选择"Tools=>Add ons"菜单选项。 这将弹出一个让你可以进行搜索的页面。在搜索框里输入"Firebug"并按下回车键。在搜索完成之后点击"Install"按钮来安装Firebug组件。安装完成后你将需要重启Firefox。
如果你计划使用Internet Explorer请自己解决并安装一个较近版本的浏览器。最后,如果你的浏览器版本没有内置Internet Explorer Developer Toolbar[35]插件,那么请安装它。
Selenium驱动
为了使用Selenium[36]来驱动一个浏览器,在某些情况下你必须安装一个额外的驱动。如果你计划使用Firefox[37]那你就不需要再做其他什么事了。
如果你希望使用Chrome[38]来测试一些Web应用程序,那么你将需要为你的环境平台安装ChromeDriver[39]。只要下载可执行文件并放在你的PATH中的某个位置。
如果你希望使用Internet Exployer,你得完成几个步骤。首先,你将需要下载IEDriverServer[40]并放在你的PATH中。在你可以使用它之前你还需要做一项额外的配置工作。请阅读这个页面[41]来了解详情。
如果你选择使用其他浏览器你可以在这里[42]了解到相关内容。
编辑器或IDE?
如果你已经有一个喜欢的IDE或开发环境你也许要看看是否支持Ruby开发。Ruby世界的很多人在使用像Emacs[43]或Vim[44]这样功能强大的编辑器。这些工具的学习曲线很高但是工具也同样很强大。如果你刚开始接触Ruby那可能现在已经没有时间上手这些工具,并且我建议你下载和使用RubyMine[45]。对它的引用将遍及本书,大量的截图也来自这个工具。在安装时只要接受所有默认选项即可。安装完成后继续并运行工具。若你是第一次运行软件,只要在显示的对话框里选择30天的工具评价期。
如果你使用的是RubyMine,那么你得了解在计算机中已安装多个Ruby版本的情况下如何选择正确的版本这很重要。哪怕你认为你只安装了一个Ruby版本,在第一次启动RubyMine的时候选择你的Ruby也会是一个好主意。你可以通过"File"菜单(如果你正使用MAC,那么应该是"RubyMine"菜单)打开"Preferences"或"Settings"对话框。在这个对话框中你必须先定位到SDK选择项。你可以通过搜索"SDK"关键词来找到。
在你选中SDK选择项之后你必须选择希望使用的Ruby版本。如果你正在使用Mac且用了RVM来安装Ruby,你将会看到在Ruby版本下方列出了"gemsets"。如果没有,只要选择你希望使用的Ruby版本即可。
[26] http://www.ruby-lang.org/en/
[27] http://en.wikipedia.org/wiki/Programming_language
[28] http://rubyinstaller.org/downloads/
[29] http://rubyinstaller.org/add-ons/devkit/
[30] https://developer.apple.com/xcode/
[31] http://www.macports.org
[32] http://brew.sh
[33] https://rvm.io/
[34] http://www.mozilla.org/en-US/firefox/new/
[35] http://www.microsoft.com/en-us/download/details.aspx?id=18359
[36] http://seleniumhq.org
[37] http://www.mozilla.org/en-US/firefox/new/
[38] https://www.google.com/intl/en/chrome/
[39] http://code.google.com/p/chromedriver/downloads/list
[40] http://code.google.com/p/selenium/downloads/list
[41] http://code.google.com/p/selenium/wiki/InternetExplorerDriver#Required_Configuration
[42] http://docs.seleniumhq.org/about/platform.jsp
[43] http://www.gnu.org/software/emacs/
[44] http://www.vim.org/
[45] http://www.jetbrains.com/ruby/