在 Travis CI 上创建 Selenium WebDriver Ruby 项目
原文已于2014年4月20日更新,请点击本链接查看最新版本
- 在 Github 上创建一个代码仓库
- 建立 Selenium WebDriver Ruby 项目
- 上传至 Github
- 登入 Travis CI 并开启 hook
- 在 Travis CI 上运行项目
- 在 Travis CI 上分析结果
在 Github 上创建一个代码仓库
要想在 Travis CI 上运行项目,必须首先要在 Github 上创建一个代码仓库。 如果还没有建立代码仓库,请前往 Github 的 'Create a New Repository' 页面创建一个新的公开代码仓库。
建立 Selenium WebDriver Ruby 项目
项目结构
以下是本示例 Selenium Ruby 项目的结构:
/root -- 代码的根目录
/test -- 示例测试的文件夹
test_home_page.rb -- 示例测试文件
.travis.yml -- Travis CI 的配置文件
README.md -- 项目简介
Rakefile -- Rakefile
编写一个使用 headless PhantomJS 的 UI 测试
Test::Unit
是本示例所使用的测试框架。- Headless WebKit PhantomJS 是本示例将要测试的浏览器。
- PhantomJS 的可执行文件应该已经被预案装于 Travis CI 服务器上, 目前于 05/07/2013 时的版本为
1.9.1
- Travis CI 同时也支持需要运行 GUI 的测试, 请查阅文档。
以下为一个示例测试文件叫做 test_home_page.rb
:
添加 Rakefile
Travis CI 使用 Rakefile
来编译项目并运行测试,如果该文件不存在,编译会像如下一样报错:
$ rake
rake aborted!
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
The command "rake" exited with 1.
以下为 Rakefile 示例:
添加 .travis.yml
Travis CI 使用在项目根目录下的 .travis.yml
来了解项目配置,例如:
- 项目所使用的编程语言
- 运行项目的 setup 和 cleanup
- 运行项目所需要的命令
因为示例项目是写于 Ruby 的,故 Ruby 的配置将被使用于 .travis.yml
中。 详细的官方文档可以在这里被查阅。 想要验证配置文件,Travis Lint 会是一个非常方便的工具,不过最简单的方法是前往 Travis WebLint 页面,直接粘贴进配置文件内容。
上传至 Github
一旦代码仓库已正确设立了,就可以上传至 Github。
登入 Travis CI 并开启 hook
- 使用本项目的 Github 帐号登入 Travis CI
- 前往 Travis CI profile 页面并找到此项目的代码仓库, 如果此项目不在列表中,请确认:
- 此代码仓库不是私有的
- Travis CI 已经与 Github 同步 (如果需要可以点击 “立即同步” 按钮)
- 开启此代码仓库的 hook
在 Travis CI 上运行项目
只要有更新上传至代码仓库,Travis CI 应该会自动运行项目。
不仅如此,若想要手动运行项目,可以通过以下几步:
- 前往 Github 上项目的设置页面
- 点选 tab
Service Hooks
(url: https://github.com/[GITHUB_USERNAME]/[REPO_NAME]/settings/hooks) - 在列表中下部找到
Travis
- 点
Test Hook
按钮
在 Travis CI 上分析结果
Travis CI 上的项目页面
Travis CI 上的项目页面在 https://travis-ci.org/[GITHUB_USERNAME]/[REPO_NAME]
运行日志
点击每个运行序号将会打开该次运行的的日志,里面基本包括所有在运行过程中的控制台输出内容。
测试结果
测试结果显示在运行日志中的 rake
部分。 例如,下面为此次运行的日志里的测试结果:
$ rake
/home/travis/.rvm/rubies/ruby-2.0.0-p0/bin/ruby -I"lib:test" -I"/home/travis/.rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib" "/home/travis/.rvm/gems/ruby-2.0.0-p0/gems/rake-10.0.4/lib/rake/rake_test_loader.rb" "test/test_home_page.rb"
Run options:
# Running tests:
Finished tests in 1.078374s, 0.9273 tests/s, 0.9273 assertions/s.
1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
ruby -v: ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
The command "rake" exited with 0.
项目状态图标
Travis CI 为项目提供了 项目状态图标, 它们作为项目开发的好习惯,被鼓励用于项目主页或 README 文件中。
项目状态图标储存在 https://travis-ci.org/[GITHUB_USERNAME]/[REPO_NAME].png
, branches 可以通过如 ?branch=master,staging,production
的 URL query 字符串来额外添加。
除此之外,在 Travis CI 上的项目主页,点击设置按钮,然后选择 Status Image
, 一个对话框将会显示全部可能的选项,如下图所示: