testingbot 0.1.7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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