Run specs on sauce labs

This commit is contained in:
Piotr Sarnacki 2013-03-27 20:08:28 +01:00
parent d5bfa092b0
commit 696c706dd1
5 changed files with 40 additions and 3 deletions

View File

@ -11,9 +11,13 @@ env:
- "ARTIFACTS_S3_BUCKET=travis-web-production"
- secure: "RFuCOppyjWHC4XWKtQlgS4zO4B6KVxytdX8+G5jRY3XM+OEGte8VDD88gZLM\nKDpkqMFDbNJAVTsh1kMANCTct2ONi30RTxuJWLtRyK7RE5zCcaGbAkTNZgXo\nOR5OWLEPJZbNfbh17H6J7izTy6yiLR+CsVP1wMgeVusP0eoDhCA="
- secure: "duqMXPALumXB3e2j/kM2uCaCGwgZsRrU0GCDY+3Zk6a+PK+s0mE9BftcXdxm\n6u87ld2PvCBO0inpe5YeS9LOZsT+OFS4jj+GGTsRI6rmGz+kok0N+ATLTdcj\nu15zhLhUUlhoKW0DZURrDv/iTiC/FKvJ0u5Rft0XbjfTY+0go/M="
- secure: "sW8X/OxQQnCfSWfo5uho8os/4eV8Y3QWOx5LdhqcmOxb4KLlQkndRNNqz+DF\nKynSgnSpty2uvol6611J9RDPEVn6cZw7EFQj/EO7NRVQC8uD+8LtT/2C2J8L\nc/bf7sQqpAkDq9MOEub/A6R4jIk043lGQ4IyWAQmGlETMQ2Q/K0="
- secure: "XCGOrMQHDR59KARYeN2GaAkDQKwq2nW9okEFMaKEH1AuUFFcU4hHAsunNeXe\nwSHu4Dpo/CioI2EKQpxL8nwMUPsx3HaY/2W8ef1YPvhU1GuSyiPDW0va8sV7\nBmZf1b26ktrzqaYDxyJjwe1EKrzfZx0LPV0MNU6wSWdHILthPY8="
matrix:
- "TEST_SUITE=spec"
- "TEST_SUITE=ember"
- "TEST_SUITE=browser BROWSER='firefox::Windows 2012'"
- "TEST_SUITE=browser BROWSER='chrome::Windows 2008'"
script: "script/ci"
after_script:

View File

@ -60,9 +60,9 @@
// if(key.match(/_spec$/))
// minispade.require(key);
var console_reporter = new jasmine.ConsoleReporter();
var consoleReporter = new jasmine.ConsoleReporter();
jasmine.getEnv().addReporter(new jasmine.HtmlReporter());
jasmine.getEnv().addReporter(console_reporter);
jasmine.getEnv().addReporter(consoleReporter);
jasmine.getEnv().execute();
</script>
</body>

View File

@ -9,7 +9,7 @@ class PhantomJasmineRunner
@tries = 0
@max_tries = 10
get_status: -> @page.evaluate(-> console_reporter.status)
get_status: -> @page.evaluate(-> consoleReporter.status)
terminate: ->
switch @get_status()

View File

@ -6,4 +6,10 @@ elif [ "$TEST_SUITE" == "ember" ]; then
bundle exec rackup -s puma -p 5000 -D
sleep 3
./run_jasmine.coffee http://localhost:5000/spec.html
elif [ "$TEST_SUITE" == "browser" ]; then
curl https://gist.github.com/santiycr/5139565/raw/sauce_connect_setup.sh | bash
gem install selenium-webdriver
bundle exec rackup -s puma -p 5000 -D
sleep 3
ruby script/saucelabs.rb
fi

27
script/saucelabs.rb Normal file
View File

@ -0,0 +1,27 @@
#!/usr/bin/env ruby
require 'rubygems'
require 'selenium-webdriver'
browser = ENV['BROWSER'].split(':')
caps = Selenium::WebDriver::Remote::Capabilities.send browser[0]
caps.version = browser[1]
caps.platform = browser[2]
caps['tunnel-identifier'] = ENV['TRAVIS_JOB_NUMBER']
caps['name'] = "Travis ##{ENV['TRAVIS_JOB_NUMBER']}"
driver = Selenium::WebDriver.for(
:remote,
:url => "http://#{ENV['SAUCE_USERNAME']}:#{ENV['SAUCE_ACCESS_KEY']}@localhost:4445/wd/hub",
:desired_capabilities => caps)
driver.navigate.to "http://localhost:4000/spec.html"
begin
status = driver.execute_script('return consoleReporter.status;')
sleep 1
end while status == 'running'
driver.quit
raise 'tests failed' unless status == 'success'