LoginSignup
4
4

More than 5 years have passed since last update.

Travis CI で GUI を利用しない Firefox を使ってエンドツーエンドテストをする

Posted at

概要

Travis CI で GUI を利用しない Firefox を使ってエンドツーエンドテストする方法を調べました。

動作試験

.travis.yml では before_script で関連する gem のインストールと Xvfb の起動を行います。ここでは ブラウザの自動操作に watir-webdriver を使います。Xvfb の起動方法は Travis CI のドキュメントに従い、下記のようにします。

travis.yml
language: ruby
before_script:
  - "gem install rspec"
  - "gem install headless"
  - "gem install watir-webdriver"
  - "export DISPLAY=:99.0"
  - "sh -e /etc/init.d/xvfb start"
script:
  - "rspec"

下記は Travis CI で Firefox を起動して Qiita のトップページのタイトルが正しいか確かめるテストです。(Travis CI から Qiita にアクセスするとタイトルが英語になるようです。)

spec/e2e_spec.rb
# encoding: utf-8

require 'watir-webdriver'
require 'headless'

describe "qiita.com" do
  before do
    @headless = Headless.new
    @headless.start
    @browser = Watir::Browser.new :ff
  end
  it "has valid title" do
    @browser.goto "http://qiita.com"
    expect(@browser.title).to eq("Qiita - A technical knowledge sharing platform for programmers.")
  end
  after do
    @browser.quit
    @headless.destroy
  end
end

Travis CI にてテストがパスすることが確認できました。

$ rspec
.
Finished in 30.14 seconds (files took 0.24446 seconds to load)
1 example, 0 failures

上記の動作試験を行った GitHub のリポジトリです。
https://github.com/suzuki86/sample-of-using-headless-firefox-on-travisci

Travis CI での実行結果です。
https://travis-ci.org/suzuki86/sample-of-using-headless-firefox-on-travisci

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4