testingbot 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -2
  3. data/LICENSE +1 -1
  4. data/README.md +137 -0
  5. data/bin/testingbot +4 -3
  6. data/lib/testingbot.rb +1 -5
  7. data/lib/testingbot/api.rb +91 -15
  8. data/lib/testingbot/version.rb +1 -1
  9. data/spec/integration/api_spec.rb +21 -15
  10. data/spec/spec_helper.rb +6 -3
  11. data/testingbot.gemspec +3 -3
  12. metadata +7 -52
  13. data/README.rdoc +0 -237
  14. data/examples/android.rb +0 -14
  15. data/examples/capybara.rb +0 -22
  16. data/examples/capybara_multiple_browsers.rb +0 -38
  17. data/examples/cucumber/README.rdoc +0 -15
  18. data/examples/cucumber/Rakefile +0 -20
  19. data/examples/cucumber/features/support/env.rb +0 -13
  20. data/examples/cucumber/features/youtube.feature +0 -10
  21. data/examples/cucumber/features/youtube_steps.rb +0 -15
  22. data/examples/test_rspec.rb +0 -17
  23. data/examples/test_rspec1.rb +0 -36
  24. data/examples/test_unit.rb +0 -30
  25. data/lib/testingbot/capybara.rb +0 -66
  26. data/lib/testingbot/config.rb +0 -125
  27. data/lib/testingbot/cucumber.rb +0 -35
  28. data/lib/testingbot/hooks.rb +0 -284
  29. data/lib/testingbot/jasmine.rb +0 -29
  30. data/lib/testingbot/jasmine/README.rdoc +0 -16
  31. data/lib/testingbot/jasmine/Rakefile +0 -35
  32. data/lib/testingbot/jasmine/public/javascripts/Player.js +0 -22
  33. data/lib/testingbot/jasmine/public/javascripts/Song.js +0 -7
  34. data/lib/testingbot/jasmine/runner.rb +0 -4
  35. data/lib/testingbot/jasmine/spec/javascripts/PlayerSpec.js +0 -58
  36. data/lib/testingbot/jasmine/spec/javascripts/helpers/SpecHelper.js +0 -9
  37. data/lib/testingbot/jasmine/spec/javascripts/support/jasmine.yml +0 -73
  38. data/lib/testingbot/jasmine/test/Rakefile +0 -9
  39. data/lib/testingbot/jasmine/test/public/javascripts/Player.js +0 -22
  40. data/lib/testingbot/jasmine/test/public/javascripts/Song.js +0 -7
  41. data/lib/testingbot/jasmine/test/spec/javascripts/PlayerSpec.js +0 -58
  42. data/lib/testingbot/jasmine/test/spec/javascripts/helpers/SpecHelper.js +0 -9
  43. data/lib/testingbot/jasmine/test/spec/javascripts/support/jasmine.yml +0 -73
  44. data/lib/testingbot/selenium.rb +0 -127
  45. data/lib/testingbot/tunnel.rb +0 -104
  46. data/spec/integration/selenium1_spec.rb +0 -53
  47. data/spec/integration/selenium2_spec.rb +0 -60
  48. data/spec/integration/tunnel_spec.rb +0 -84
  49. data/spec/unit/api_spec.rb +0 -17
  50. data/spec/unit/config_spec.rb +0 -73
  51. data/spec/unit/tunnel_spec.rb +0 -41
  52. data/vendor/Testingbot-Tunnel.jar +0 -0
@@ -1,4 +1,7 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../lib/testingbot/config.rb')
2
- require File.expand_path(File.dirname(__FILE__) + '/../lib/testingbot/tunnel.rb')
3
1
  require File.expand_path(File.dirname(__FILE__) + '/../lib/testingbot/api.rb')
4
- require File.expand_path(File.dirname(__FILE__) + '/../lib/testingbot.rb')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../lib/testingbot.rb')
3
+ RSpec.configure do |config|
4
+ config.expect_with :rspec do |expectations|
5
+ expectations.syntax = :should
6
+ end
7
+ end
@@ -7,9 +7,9 @@ Gem::Specification.new do |s|
7
7
  s.version = Testingbot::VERSION
8
8
  s.authors = ["Jochen Delabie"]
9
9
  s.email = ["info@testingbot.com"]
10
- s.homepage = "http://www.testingbot.com"
11
- s.summary = "Ruby Gem to be used with testingbot.com"
12
- s.description = "This gem makes using our Selenium grid on testingbot.com easy"
10
+ s.homepage = "https://testingbot.com"
11
+ s.summary = "Ruby API Gem to be used with testingbot.com"
12
+ s.description = "This gem makes interacting with the TestingBot API easy with Ruby"
13
13
 
14
14
  s.rubyforge_project = "testingbot"
15
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testingbot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jochen Delabie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-13 00:00:00.000000000 Z
11
+ date: 2018-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -80,7 +80,7 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
- description: This gem makes using our Selenium grid on testingbot.com easy
83
+ description: This gem makes interacting with the TestingBot API easy with Ruby
84
84
  email:
85
85
  - info@testingbot.com
86
86
  executables:
@@ -92,55 +92,16 @@ files:
92
92
  - ".travis.yml"
93
93
  - Gemfile
94
94
  - LICENSE
95
- - README.rdoc
95
+ - README.md
96
96
  - Rakefile
97
97
  - bin/testingbot
98
- - examples/android.rb
99
- - examples/capybara.rb
100
- - examples/capybara_multiple_browsers.rb
101
- - examples/cucumber/README.rdoc
102
- - examples/cucumber/Rakefile
103
- - examples/cucumber/features/support/env.rb
104
- - examples/cucumber/features/youtube.feature
105
- - examples/cucumber/features/youtube_steps.rb
106
- - examples/test_rspec.rb
107
- - examples/test_rspec1.rb
108
- - examples/test_unit.rb
109
98
  - lib/testingbot.rb
110
99
  - lib/testingbot/api.rb
111
- - lib/testingbot/capybara.rb
112
- - lib/testingbot/config.rb
113
- - lib/testingbot/cucumber.rb
114
- - lib/testingbot/hooks.rb
115
- - lib/testingbot/jasmine.rb
116
- - lib/testingbot/jasmine/README.rdoc
117
- - lib/testingbot/jasmine/Rakefile
118
- - lib/testingbot/jasmine/public/javascripts/Player.js
119
- - lib/testingbot/jasmine/public/javascripts/Song.js
120
- - lib/testingbot/jasmine/runner.rb
121
- - lib/testingbot/jasmine/spec/javascripts/PlayerSpec.js
122
- - lib/testingbot/jasmine/spec/javascripts/helpers/SpecHelper.js
123
- - lib/testingbot/jasmine/spec/javascripts/support/jasmine.yml
124
- - lib/testingbot/jasmine/test/Rakefile
125
- - lib/testingbot/jasmine/test/public/javascripts/Player.js
126
- - lib/testingbot/jasmine/test/public/javascripts/Song.js
127
- - lib/testingbot/jasmine/test/spec/javascripts/PlayerSpec.js
128
- - lib/testingbot/jasmine/test/spec/javascripts/helpers/SpecHelper.js
129
- - lib/testingbot/jasmine/test/spec/javascripts/support/jasmine.yml
130
- - lib/testingbot/selenium.rb
131
- - lib/testingbot/tunnel.rb
132
100
  - lib/testingbot/version.rb
133
101
  - spec/integration/api_spec.rb
134
- - spec/integration/selenium1_spec.rb
135
- - spec/integration/selenium2_spec.rb
136
- - spec/integration/tunnel_spec.rb
137
102
  - spec/spec_helper.rb
138
- - spec/unit/api_spec.rb
139
- - spec/unit/config_spec.rb
140
- - spec/unit/tunnel_spec.rb
141
103
  - testingbot.gemspec
142
- - vendor/Testingbot-Tunnel.jar
143
- homepage: http://www.testingbot.com
104
+ homepage: https://testingbot.com
144
105
  licenses: []
145
106
  metadata: {}
146
107
  post_install_message:
@@ -159,16 +120,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
159
120
  version: '0'
160
121
  requirements: []
161
122
  rubyforge_project: testingbot
162
- rubygems_version: 2.2.0.rc.1
123
+ rubygems_version: 2.6.14
163
124
  signing_key:
164
125
  specification_version: 4
165
- summary: Ruby Gem to be used with testingbot.com
126
+ summary: Ruby API Gem to be used with testingbot.com
166
127
  test_files:
167
128
  - spec/integration/api_spec.rb
168
- - spec/integration/selenium1_spec.rb
169
- - spec/integration/selenium2_spec.rb
170
- - spec/integration/tunnel_spec.rb
171
129
  - spec/spec_helper.rb
172
- - spec/unit/api_spec.rb
173
- - spec/unit/config_spec.rb
174
- - spec/unit/tunnel_spec.rb
@@ -1,237 +0,0 @@
1
- {<img src="https://secure.travis-ci.org/testingbot/testingbot_ruby.png" />}[http://travis-ci.org/testingbot/testingbot_ruby]
2
-
3
- = TestingBot
4
-
5
- Testingbot.com is a website where you can use our cloud based Selenium grid. Test your web applications in various environments/browsers/devices.
6
-
7
- == How to install?
8
-
9
- You can install our testingbot ruby-gem by running "gem install testingbot" on your commandline.
10
-
11
- $ gem install testingbot
12
-
13
- == Setup
14
-
15
- After you installed the gem you need to run a one part setup.
16
- Type testingbot in your commandline and fill in the API key and API secret you obtained on http://testingbot.com
17
- $ testingbot
18
-
19
- == Usage
20
-
21
- === Example Test::Unit
22
- You can find an example in our examples folder, try something like this:
23
-
24
- require "rubygems"
25
- require "test/unit"
26
- require "testingbot"
27
- class ExampleTest < TestingBot::TestCase
28
- attr_reader :browser
29
-
30
- def setup
31
- @browser = Selenium::Client::Driver.new \
32
- :browser => "firefox",
33
- :url => "http://www.google.com",
34
- :platform => "WINDOWS",
35
- :version => 10,
36
- :timeout_in_second => 90
37
-
38
- browser.start_new_browser_session
39
- end
40
-
41
- def teardown
42
- browser.close_current_browser_session
43
- end
44
-
45
- def test_page_search
46
- browser.open "/"
47
- assert_equal "Google", browser.title
48
- end
49
- end
50
-
51
- === Example RSpec 2
52
- This example uses RSpec 2. You can run it with rspec test_rspec.rb
53
-
54
- require 'rubygems'
55
- require "selenium/client"
56
- require 'rspec'
57
- require 'testingbot'
58
- require 'testingbot/tunnel'
59
-
60
- # rspec 2
61
- describe "People", :type => :selenium do
62
- attr_reader :selenium_driver
63
- before(:all) do
64
- # uncomment if you want to use our Tunnel
65
- # tunnel = TestingBot::Tunnel.new
66
- # tunnel.start
67
-
68
- @selenium_driver = Selenium::Client::Driver.new \
69
- :browser => "firefox",
70
- :url => "http://www.google.com",
71
- :timeout_in_second => 60,
72
- :platform => "WINDOWS",
73
- :version => "10"
74
- end
75
-
76
- before(:each) do
77
- @selenium_driver.start_new_browser_session
78
- end
79
-
80
- after(:each) do
81
- @selenium_driver.close_current_browser_session
82
- end
83
-
84
- it "can find the right title" do
85
- @selenium_driver.open "/"
86
- @selenium_driver.title.should eql("Google")
87
- end
88
- end
89
-
90
- === Example RSpec 1
91
- This example uses RSpec 1. You can run it with spec test_rspec1.rb
92
-
93
- require 'rubygems'
94
- gem "rspec", "<2"
95
- gem "selenium-client"
96
- require "selenium/client"
97
- require "selenium/rspec/spec_helper"
98
- gem "testingbot"
99
- require "testingbot"
100
-
101
- describe "Test" do
102
- attr_reader :selenium_driver
103
- alias :page :selenium_driver
104
-
105
- before(:all) do
106
- @selenium_driver = Selenium::Client::Driver.new \
107
- :browser => "firefox",
108
- :url => "http://www.google.com",
109
- :timeout_in_second => 90,
110
- :platform => "WINDOWS",
111
- :version => "10"
112
- end
113
-
114
- before(:each) do
115
- @selenium_driver.start_new_browser_session
116
- end
117
-
118
- append_after(:each) do
119
- @selenium_driver.close_current_browser_session
120
- end
121
-
122
- it "can find the right title" do
123
- page.open "/"
124
- page.title.should eql("Google")
125
- end
126
- end
127
-
128
- === Example RSpec 2 and Capybara
129
- This example uses RSpec 2 together with capybara and Selenium webdriver. You can run it with rspec capybara.rb
130
-
131
- require 'rspec'
132
- require 'capybara/rspec'
133
- require 'testingbot'
134
- require 'testingbot/capybara'
135
-
136
- TestingBot::config do |config|
137
- config[:desired_capabilities] = { :browserName => "firefox", :version => 9, :platform => "WINDOWS" }
138
- # config.require_tunnel # uncomment if you want to use our Tunnel
139
- end
140
-
141
- describe "People", :type => :request do
142
- before :each do
143
- Capybara.current_driver = :testingbot
144
- Capybara.app_host = "http://testingbot.com"
145
- end
146
-
147
- it 'has a homepage with the word Selenium' do
148
- visit '/'
149
- page.should have_content('Selenium')
150
- end
151
- end
152
-
153
- === Example RSpec 2, Capybara and Rails
154
- In this example we will need rspec-rails and Capybara, a rack server will be started by Capybara to run your localhost tests.
155
- Add the example below in spec/integration/home_spec.rb
156
- ----------------------------------------------------------
157
- spec_helper.rb:
158
-
159
- require 'capybara/rspec'
160
- require 'capybara/rails'
161
- require 'testingbot'
162
- require 'testingbot/capybara'
163
-
164
- ----------------------------------------------------------
165
- spec/integration/home_spec.rb:
166
-
167
- require 'spec_helper'
168
-
169
- TestingBot::config do |config|
170
- config[:desired_capabilities] = { :browserName => "firefox", :version => 9, :platform => "WINDOWS", :localhost => "YES" }
171
- config.require_tunnel
172
- end
173
-
174
- describe 'home page' do
175
- before :each do
176
- Capybara.server_port = 3011
177
- Capybara.current_driver = :testingbot
178
- Capybara.app_host = "http://127.0.0.1:3011"
179
- end
180
-
181
- after :each do
182
- # this is a workaround to push test status/details back to testingbot
183
- # we need to use this because capybara overwrites the driver with a rack-test driver
184
- @selenium_driver = page.driver.browser.send(:bridge)
185
- end
186
-
187
- it "shows the home page", :type => :request do
188
- visit '/'
189
- page.should have_content('Selenium')
190
- end
191
- end
192
-
193
- === Example RSpec 2 run on multiple browsers
194
- Use the :multibrowser => true statement to indicate you want to test on multiple browsers.
195
- This should work together with Capybara as well.
196
-
197
- require 'rubygems'
198
- require "selenium/client"
199
- require 'rspec'
200
- require 'testingbot'
201
- require 'testingbot/tunnel'
202
-
203
- TestingBot::config do |config|
204
- config[:desired_capabilities] = [{ :browserName => "firefox", :version => 9, :platform => "WINDOWS" }, { :browserName => "firefox", :version => 11, :platform => "WINDOWS" }]
205
- end
206
-
207
- describe "Google", :type => :selenium, :multibrowser => true do
208
- it "can find the right title" do
209
- page.navigate.to "http://www.google.com"
210
- page.title.should eql("Google")
211
- end
212
- end
213
-
214
- == Capybara and Cucumber
215
- The examples directory contains an example of testing with Capybara and Cucumber.
216
- The Rakefile in examples/cucumber contains a cucumber task which will run the same Cucumber story on multiple browsers.
217
-
218
- More info available on http://testingbot.com/support/getting-started/cucumber.html
219
-
220
- == Test this gem
221
- The tests for this gem are located in the spec folder, you can run them with this Rake task:
222
- rake spec
223
-
224
- == Extra options
225
- You can specify extra options like enabling/disabling the screenrecording or screenshot feature.
226
- For WebDriver use the config[:desired_capabilities] to specify extra options.
227
-
228
- For RC tests use the start_new_browser_session(options) options hash.
229
-
230
- == More information
231
-
232
- Get more information on http://testingbot.com
233
-
234
- == Copyright
235
-
236
- Copyright (c) TestingBot
237
- Please see our LICENSE
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require "rubygems"
3
- require File.expand_path(File.dirname(__FILE__) + '/../lib/testingbot/config.rb')
4
- require File.expand_path(File.dirname(__FILE__) + '/../lib/testingbot/selenium.rb')
5
-
6
- TestingBot::config do |config|
7
- config[:desired_capabilities] = Selenium::WebDriver::Remote::Capabilities.android
8
- end
9
-
10
- driver = TestingBot::SeleniumWebdriver.new
11
-
12
- driver.navigate.to "http://testingbot.com/"
13
- puts driver.title
14
- driver.quit
@@ -1,22 +0,0 @@
1
- require 'rspec'
2
- require 'capybara/rspec'
3
- require 'testingbot'
4
- require 'testingbot/capybara'
5
-
6
- TestingBot::config do |config|
7
- config[:desired_capabilities] = { :browserName => "firefox", :version => 9, :platform => "WINDOWS" }
8
- config[:options] = { :screenshot => false, :extra => "Some extra data" }
9
- #config.require_tunnel
10
- end
11
-
12
- describe "People", :type => :request do
13
- before :all do
14
- Capybara.current_driver = :testingbot
15
- Capybara.app_host = "http://testingbot.com"
16
- end
17
-
18
- it 'has a homepage with the word Selenium' do
19
- visit '/'
20
- page.should have_content('Selenium')
21
- end
22
- end
@@ -1,38 +0,0 @@
1
- require 'rspec'
2
- require 'capybara/rspec'
3
- require 'testingbot'
4
- require 'testingbot/capybara'
5
-
6
- browsers = [{ :browserName => "firefox", :version => 9, :platform => "WINDOWS" }, { :browserName => "firefox", :version => 10, :platform => "WINDOWS" }]
7
-
8
- browsers.each do |browser|
9
-
10
- shared_examples "an example test on #{browser[:browserName]} #{browser[:version]}" do |actions|
11
- describe "Demo", :type => :request do
12
- before :all do
13
- TestingBot::config do |config|
14
- config[:desired_capabilities] = browser
15
- end
16
- Capybara.run_server = false
17
- Capybara.current_driver = :testingbot
18
- Capybara.app_host = "http://testingbot.com"
19
- end
20
-
21
- after :all do
22
- TestingBot.reset_config!
23
- Capybara.current_driver = :testingbot
24
- page.driver.browser.quit
25
- page.driver.instance_variable_set(:@browser, nil)
26
- end
27
-
28
- it 'has a homepage with the word Selenium' do
29
- visit '/'
30
- page.should have_content('Selenium')
31
- end
32
- end
33
- end
34
-
35
- describe "Sample", :type => :request do
36
- it_behaves_like "an example test on #{browser[:browserName]} #{browser[:version]}"
37
- end
38
- end
@@ -1,15 +0,0 @@
1
- Testing with Cucumber, Selenium and Capybara
2
-
3
- == Usage
4
-
5
- This example contains a basic Cucumber story which will run on TestingBot.
6
- Included you will find a Rakefile which contains a cucumber task.
7
- If you run this Rake task you can run the same Cucumber story on multiple browsers.
8
-
9
- rake cucumber
10
-
11
- You can specify the browser list inside the Rakefile.
12
-
13
- === More information
14
-
15
- More info at http://testingbot.com/support/getting-started/ruby.html