Use Sauce Labs to test Jasmine against a metric ton of browsers
This commit is contained in:
55
.travis.yml
55
.travis.yml
@@ -1,26 +1,39 @@
|
|||||||
|
---
|
||||||
before_install:
|
before_install:
|
||||||
- "export DISPLAY=:99.0"
|
- export DISPLAY=:99.0
|
||||||
- "sudo mkdir -p /etc/init.d/"
|
- sh -e /etc/init.d/xvfb start
|
||||||
- "sudo touch /etc/init.d/xvfb"
|
before_script:
|
||||||
- "sh -e /etc/init.d/xvfb start"
|
- curl https://gist.github.com/santiycr/5139565/raw/sauce_connect_setup.sh | bash
|
||||||
#- "sh -e travis-chromium-script.sh"
|
script: DISPLAY=:99.0 bundle exec rake core_spec
|
||||||
script: "DISPLAY=:99.0 bundle exec rake core_spec"
|
language: ruby
|
||||||
|
rvm: 1.9.3
|
||||||
language:
|
|
||||||
- ruby
|
|
||||||
- objective-c
|
|
||||||
|
|
||||||
rvm: "1.9.3"
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- JASMINE_BROWSER=firefox
|
global:
|
||||||
#- JASMINE_BROWSER=chrome
|
- USE_SAUCE=true
|
||||||
- JASMINE_BROWSER=phantomjs
|
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
||||||
|
- secure: WSPWhlnC4mWSnSPquX+m1/BCu5ch5NygkaHuM2Nea7lD8oS3XLX8QncZZAsQ4lnNfqoDDuBOizG0AESiqNvE4y6x5qvLLTS6q+ce255ZEMZ71TBdZgDEEvGMEjOPPsVXiXyTQOP1lwOPlrbZvaPgWV7e11KIBab6DfFcQpnvDgo=
|
||||||
|
- secure: SW7CJhZnwaNT749Gdnhvqb5rbXlAOsygUAzh9qhtyvbqXKkmJdBIEsO01YF6pbju1X2twE9JvWCOxeZju43NgQChJlPsGbjY2j3k/TdQeTAJesQe2K7ytwghunI30gjEovtRH0T3w1EmcKPH8yj5eBIcB2OYoJHx8KEC7e68q1g=
|
||||||
matrix:
|
matrix:
|
||||||
allow_failures:
|
allow_failures:
|
||||||
#- env: JASMINE_BROWSER=chrome
|
- env: JASMINE_BROWSER=phantomjs
|
||||||
- env: JASMINE_BROWSER=phantomjs
|
|
||||||
include:
|
include:
|
||||||
- language: objective-c
|
- JASMINE_BROWSER=firefox
|
||||||
env: JASMINE_BROWSER=safari
|
SAUCE_PLATFORM=Linux
|
||||||
|
SAUCE_VERSION=''
|
||||||
|
- JASMINE_BROWSER=safari
|
||||||
|
SAUCE_PLATFORM="OS X 10.8"
|
||||||
|
SAUCE_VERSION=''
|
||||||
|
- JASMINE_BROWSER="internet explorer"
|
||||||
|
SAUCE_PLATFORM="Windows 8"
|
||||||
|
SAUCE_VERSION=10
|
||||||
|
- JASMINE_BROWSER="internet explorer"
|
||||||
|
SAUCE_PLATFORM="Windows 7"
|
||||||
|
SAUCE_VERSION=9
|
||||||
|
- JASMINE_BROWSER="internet explorer"
|
||||||
|
SAUCE_PLATFORM="Windows 7"
|
||||||
|
SAUCE_VERSION=8
|
||||||
|
- JASMINE_BROWSER=chrome
|
||||||
|
SAUCE_PLATFORM=Linux
|
||||||
|
SAUCE_VERSION=''
|
||||||
|
- JASMINE_BROWSER=phantomjs
|
||||||
|
USE_SAUCE=false
|
||||||
|
|||||||
@@ -23,4 +23,5 @@ Gem::Specification.new do |s|
|
|||||||
s.add_development_dependency "fuubar"
|
s.add_development_dependency "fuubar"
|
||||||
s.add_development_dependency "awesome_print"
|
s.add_development_dependency "awesome_print"
|
||||||
s.add_development_dependency "nokogiri"
|
s.add_development_dependency "nokogiri"
|
||||||
|
s.add_development_dependency "sauce-connect"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,8 +4,39 @@ require 'jasmine'
|
|||||||
|
|
||||||
Jasmine.load_configuration_from_yaml(File.join(Dir.pwd, 'spec', 'jasmine.yml'))
|
Jasmine.load_configuration_from_yaml(File.join(Dir.pwd, 'spec', 'jasmine.yml'))
|
||||||
config = Jasmine.config
|
config = Jasmine.config
|
||||||
|
|
||||||
|
browser = ENV['JASMINE_BROWSER'] || 'firefox'
|
||||||
|
|
||||||
|
if ENV['USE_SAUCE'] == 'true'
|
||||||
|
require 'selenium-webdriver'
|
||||||
|
|
||||||
|
unless ENV['TRAVIS_BUILD_NUMBER']
|
||||||
|
require 'sauce/connect'
|
||||||
|
|
||||||
|
# we want Sauce Connect locally, not on Travis
|
||||||
|
Sauce::Connect.connect!
|
||||||
|
end
|
||||||
|
|
||||||
|
username = ENV['SAUCE_USERNAME']
|
||||||
|
key = ENV['SAUCE_ACCESS_KEY']
|
||||||
|
platform = ENV['SAUCE_PLATFORM']
|
||||||
|
version = ENV['SAUCE_VERSION']
|
||||||
|
url = "http://#{username}:#{key}@localhost:4445/wd/hub"
|
||||||
|
|
||||||
|
config.port = 5555
|
||||||
|
|
||||||
|
webdriver = Selenium::WebDriver.for :remote, :url => url, :desired_capabilities => {
|
||||||
|
:platform => platform,
|
||||||
|
:version => version,
|
||||||
|
:build => ENV['TRAVIS_BUILD_NUMBER'],
|
||||||
|
:tags => [ENV['TRAVIS_RUBY_VERSION'], 'CI'],
|
||||||
|
:browserName => browser
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
Jasmine.configure do |config|
|
Jasmine.configure do |config|
|
||||||
config.browser = ENV['JASMINE_BROWSER'] || 'firefox'
|
config.webdriver = webdriver if webdriver
|
||||||
|
config.browser = browser if browser
|
||||||
end
|
end
|
||||||
server = Jasmine::Server.new(config.port, Jasmine::Application.app(config))
|
server = Jasmine::Server.new(config.port, Jasmine::Application.app(config))
|
||||||
driver = Jasmine::SeleniumDriver.new(config.browser, "#{config.host}:#{config.port}/")
|
driver = Jasmine::SeleniumDriver.new(config.browser, "#{config.host}:#{config.port}/")
|
||||||
|
|||||||
Reference in New Issue
Block a user