adds support to run Jasmine suites on CI using Sauce Labs
This commit is contained in:
@@ -2,12 +2,21 @@ require File.expand_path(File.join(File.dirname(__FILE__), "spec/jasmine_helper.
|
||||
|
||||
namespace :test do
|
||||
desc "Run continuous integration tests"
|
||||
require "spec"
|
||||
require 'spec/rake/spectask'
|
||||
task :ci => :'ci:local'
|
||||
namespace :ci do
|
||||
require "spec"
|
||||
require 'spec/rake/spectask'
|
||||
|
||||
Spec::Rake::SpecTask.new(:ci) do |t|
|
||||
t.spec_opts = ["--color", "--format", "specdoc"]
|
||||
t.spec_files = ["spec/jasmine_spec.rb"]
|
||||
Spec::Rake::SpecTask.new(:local) do |t|
|
||||
t.spec_opts = ["--color", "--format", "specdoc"]
|
||||
t.spec_files = ["spec/jasmine_spec.rb"]
|
||||
end
|
||||
|
||||
desc "Run continuous integration tests using Sauce Labs 'Selenium in the Cloud'"
|
||||
task :saucelabs do
|
||||
ENV['SAUCELABS'] = 'true'
|
||||
Rake::Task['test:ci:local'].invoke
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,11 +1,20 @@
|
||||
require 'rubygems'
|
||||
require "selenium_rc"
|
||||
require File.expand_path(File.join(File.dirname(__FILE__), "jasmine_helper.rb"))
|
||||
require File.expand_path(File.join(JasmineHelper.jasmine_root, "contrib/ruby/jasmine_spec_builder"))
|
||||
|
||||
jasmine_runner = Jasmine::Runner.new(SeleniumRC::Server.new.jar_path,
|
||||
JasmineHelper.specs,
|
||||
JasmineHelper.dir_mappings)
|
||||
jasmine_runner = if ENV['SAUCELABS'] == 'true'
|
||||
require 'sauce_tunnel'
|
||||
require 'selenium_config'
|
||||
Jasmine::SauceLabsRunner.new(JasmineHelper.specs,
|
||||
JasmineHelper.dir_mappings,
|
||||
:saucelabs_config => 'saucelabs',
|
||||
:saucelabs_config_file => File.expand_path(File.join(File.dirname(__FILE__), "saucelabs.yml")))
|
||||
else
|
||||
require "selenium_rc"
|
||||
Jasmine::Runner.new(SeleniumRC::Server.new.jar_path,
|
||||
JasmineHelper.specs,
|
||||
JasmineHelper.dir_mappings)
|
||||
end
|
||||
|
||||
spec_builder = Jasmine::SpecBuilder.new(JasmineHelper.raw_spec_files, jasmine_runner)
|
||||
|
||||
|
||||
24
examples/ruby/spec/saucelabs.yml
Normal file
24
examples/ruby/spec/saucelabs.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
local:
|
||||
application_framework: :selenium
|
||||
#
|
||||
# Possible Sauce Labs configurations as of 2009/11/19
|
||||
# From: http://saucelabs.com/products/docs/sauce-ondemand/browsers
|
||||
# os: "Windows 2003"
|
||||
# browser: "iexplore"
|
||||
# browser-version: "6.", "7.", "8."
|
||||
# browser: "firefox"
|
||||
# browser-version: "2.", "3.0", "3.5"
|
||||
# browser: "safari"
|
||||
# browser-version: "3.", "4."
|
||||
# browser: "opera"
|
||||
# browser-version: "9."
|
||||
# browser: "googlechrome"
|
||||
# browser-version: ""
|
||||
# os: "Linux"
|
||||
# browser: "firefox"
|
||||
# browser-version: "3."
|
||||
saucelabs:
|
||||
application_framework: :external
|
||||
selenium_server_address: "saucelabs.com"
|
||||
selenium_browser_key: '{"username": "--YOUR-SAUCELABS-USERNAME--", "access-key": "--YOUR-SAUCELABS-ACCESS-KEY--", "os": "Linux", "browser": "firefox", "browser-version": "3."}'
|
||||
application_port: "80"
|
||||
Reference in New Issue
Block a user