Skip to content

Commit 95e6a49

Browse files
committed
Added firefox beta guard
1 parent 81f2331 commit 95e6a49

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

rb/spec/integration/selenium/webdriver/manager_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ module WebDriver
169169
end
170170

171171
it 'does not allow adding with value None when secure is false',
172-
except: [{browser: :firefox,
172+
except: [{version: GlobalTestEnv.beta_browser_version(:firefox),
173173
reason: 'https://github.com/mozilla/geckodriver/issues/1842'},
174174
{browser: %i[safari safari_preview]}] do
175175
expect {

rb/spec/integration/selenium/webdriver/network_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
module Selenium
2323
module WebDriver
24-
describe Network, exclude: {version: GlobalTestEnv.beta_chrome_version},
24+
describe Network, exclude: {version: GlobalTestEnv.beta_browser_version(:chrome)},
2525
exclusive: {bidi: true, reason: 'only executed when bidi is enabled'},
2626
only: {browser: %i[chrome edge firefox]} do
2727
let(:username) { SpecSupport::RackServer::TestApp::BASIC_AUTH_CREDENTIALS.first }

rb/spec/integration/selenium/webdriver/spec_support/test_environment.rb

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -193,16 +193,26 @@ def create_driver!(listener: nil, **, &block)
193193
raise e
194194
end
195195

196-
def beta_chrome_version
197-
chrome_beta_url = 'https://chromereleases.googleblog.com/search/label/Beta%20updates'
196+
def beta_browser_version(browser)
197+
case browser
198+
when :chrome
199+
uri = URI.parse('https://chromereleases.googleblog.com/search/label/Beta%20updates')
200+
response = Net::HTTP.get_response(uri)
201+
return "Failed to fetch Chrome Beta page: #{response.code}" unless response.is_a?(Net::HTTPSuccess)
198202

199-
uri = URI.parse(chrome_beta_url)
203+
response.body.match(/\d+\.\d+\.\d+\.\d+/).to_s
200204

201-
response = Net::HTTP.get_response(uri)
205+
when :firefox
206+
uri = URI.parse('https://product-details.mozilla.org/1.0/firefox_versions.json')
207+
response = Net::HTTP.get_response(uri)
208+
return "Failed to fetch Firefox version API: #{response.code}" unless response.is_a?(Net::HTTPSuccess)
202209

203-
return "Failed to fetch Chrome Beta page: #{response&.code}" unless response.is_a?(Net::HTTPSuccess)
210+
versions = JSON.parse(response.body)
211+
versions['LATEST_FIREFOX_RELEASED_DEVEL_VERSION']
204212

205-
response.body.match(/\d+\.\d+\.\d+\.\d+/).to_s
213+
else
214+
raise ArgumentError, "Unsupported browser: #{browser}"
215+
end
206216
end
207217

208218
private

0 commit comments

Comments
 (0)