diff --git a/.github/workflows/ruby-examples.yml b/.github/workflows/ruby-examples.yml index da4fb0f0d169..b0717816e088 100644 --- a/.github/workflows/ruby-examples.yml +++ b/.github/workflows/ruby-examples.yml @@ -110,3 +110,20 @@ jobs: new_command_on_retry: | cd examples/ruby DEBUG=true bundle exec rspec --only-failures --backtrace + + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout GitHub repo + uses: actions/checkout@v4 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.1 + bundler-cache: true + - name: Install dependencies + working-directory: ./examples/ruby + run: bundle install + - name: Run RuboCop + working-directory: ./examples/ruby + run: bundle exec rubocop diff --git a/examples/ruby/.rubocop.yml b/examples/ruby/.rubocop.yml index b88b233a689b..492720f45e42 100644 --- a/examples/ruby/.rubocop.yml +++ b/examples/ruby/.rubocop.yml @@ -1,9 +1,10 @@ inherit_from: .rubocop_todo.yml -require: rubocop-rspec +plugins: + - rubocop-rspec AllCops: - TargetRubyVersion: 3.0 + TargetRubyVersion: 3.1 NewCops: enable SuggestExtensions: rubocop-rake: false diff --git a/examples/ruby/Gemfile b/examples/ruby/Gemfile index 076f764090a6..04e0ad6e143f 100644 --- a/examples/ruby/Gemfile +++ b/examples/ruby/Gemfile @@ -7,5 +7,5 @@ gem 'rake', '~> 13.0' gem 'rspec', '~> 3.0' gem 'rubocop', '~> 1.35' gem 'rubocop-rspec', '~> 3.0' -gem 'selenium-devtools', '= 0.134.0' +gem 'selenium-devtools', '= 0.135.0' gem 'selenium-webdriver', '= 4.31.0' diff --git a/examples/ruby/Gemfile.lock b/examples/ruby/Gemfile.lock index af6dacc1e135..16522b30d407 100644 --- a/examples/ruby/Gemfile.lock +++ b/examples/ruby/Gemfile.lock @@ -48,7 +48,7 @@ GEM rubocop (~> 1.72, >= 1.72.1) ruby-progressbar (1.13.0) rubyzip (2.4.1) - selenium-devtools (0.134.0) + selenium-devtools (0.135.0) selenium-webdriver (~> 4.2) selenium-webdriver (4.31.0) base64 (~> 0.2) @@ -64,6 +64,7 @@ PLATFORMS arm64-darwin-22 arm64-darwin-23 arm64-darwin-24 + ruby x86_64-darwin-19 x86_64-darwin-20 x86_64-darwin-22 @@ -74,7 +75,7 @@ DEPENDENCIES rspec (~> 3.0) rubocop (~> 1.35) rubocop-rspec (~> 3.0) - selenium-devtools (= 0.134.0) + selenium-devtools (= 0.135.0) selenium-webdriver (= 4.31.0) BUNDLED WITH diff --git a/examples/ruby/spec/browsers/firefox_spec.rb b/examples/ruby/spec/browsers/firefox_spec.rb index 16928c9aa5fc..7a56053e4838 100644 --- a/examples/ruby/spec/browsers/firefox_spec.rb +++ b/examples/ruby/spec/browsers/firefox_spec.rb @@ -89,7 +89,7 @@ describe 'Features' do let(:driver) { start_firefox } - it 'installs addon', :skip => "Skipping tests until Firefox 127 is released" do + it 'installs addon' do extension_file_path = File.expand_path('../spec_support/extensions/webextensions-selenium-example.xpi', __dir__) driver.install_addon(extension_file_path) @@ -99,7 +99,7 @@ expect(injected.text).to eq 'Content injected by webextensions-selenium-example' end - it 'uninstalls addon', :skip => "Skipping tests until Firefox 127 is released" do + it 'uninstalls addon' do extension_file_path = File.expand_path('../spec_support/extensions/webextensions-selenium-example.xpi', __dir__) extension_id = driver.install_addon(extension_file_path) @@ -109,7 +109,7 @@ expect(driver.find_elements(id: 'webextensions-selenium-example')).to be_empty end - it 'installs unsigned addon', :skip => "Skipping tests until Firefox 127 is released" do + it 'installs unsigned addon' do extension_dir_path = File.expand_path('../spec_support/extensions/webextensions-selenium-example/', __dir__) driver.install_addon(extension_dir_path, true) diff --git a/examples/ruby/spec/elements/finders_spec.rb b/examples/ruby/spec/elements/finders_spec.rb index f6523ea029fd..5c6aa67dc841 100644 --- a/examples/ruby/spec/elements/finders_spec.rb +++ b/examples/ruby/spec/elements/finders_spec.rb @@ -12,31 +12,31 @@ it 'uses a subset of the dom to find an element' do fruits = driver.find_element(id: 'fruits') - fruit = fruits.find_element(class: 'tomatoes') + fruits.find_element(class: 'tomatoes') end it 'uses an optimized locator' do - fruit = driver.find_element(css: '#fruits .tomatoes') + driver.find_element(css: '#fruits .tomatoes') end it 'finds all matching elements' do - plants = driver.find_elements(tag_name: 'li') + driver.find_elements(tag_name: 'li') end it 'gets an element from a collection' do - elements = driver.find_elements(:tag_name,'p') + elements = driver.find_elements(:tag_name, 'p') elements.each { |e| puts e.text } end it 'finds element from element' do - element = driver.find_element(:tag_name,'div') - elements = element.find_elements(:tag_name,'p') + element = driver.find_element(:tag_name, 'div') + elements = element.find_elements(:tag_name, 'p') elements.each { |e| puts e.text } end it 'find active element' do driver.find_element(css: '[name="q"]').send_keys('webElement') - attr = driver.switch_to.active_element.attribute('title') + driver.switch_to.active_element.attribute('title') end end end diff --git a/examples/ruby/spec/getting_started/using_selenium_spec.rb b/examples/ruby/spec/getting_started/using_selenium_spec.rb index 8e50e32f5f1c..f972389fca0b 100644 --- a/examples/ruby/spec/getting_started/using_selenium_spec.rb +++ b/examples/ruby/spec/getting_started/using_selenium_spec.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true + require 'spec_helper' require 'selenium-webdriver' - RSpec.describe 'Using Selenium' do before do @driver = Selenium::WebDriver.for :chrome diff --git a/examples/ruby/spec/spec_helper.rb b/examples/ruby/spec/spec_helper.rb index 9067d5dae8aa..a68a4526f0be 100644 --- a/examples/ruby/spec/spec_helper.rb +++ b/examples/ruby/spec/spec_helper.rb @@ -10,14 +10,14 @@ # Disable RSpec exposing methods globally on `Module` and `main` config.disable_monkey_patching! Dir.mktmpdir('tmp') - config.example_status_persistence_file_path = "tmp/examples.txt" + config.example_status_persistence_file_path = 'tmp/examples.txt' config.expect_with :rspec do |c| c.syntax = :expect end config.before do |example| - bug_tracker = 'https://gigithub.com/SeleniumHQ/seleniumhq.github.io/issues' + bug_tracker = 'https://github.com/SeleniumHQ/seleniumhq.github.io/issues' guards = Selenium::WebDriver::Support::Guards.new(example, bug_tracker: bug_tracker) guards.add_condition(:platform, Selenium::WebDriver::Platform.os) diff --git a/examples/ruby/spec/spec_support/extensions/webextensions-selenium-example.crx b/examples/ruby/spec/spec_support/extensions/webextensions-selenium-example.crx index 38b38003b7ec..941114eb446e 100644 Binary files a/examples/ruby/spec/spec_support/extensions/webextensions-selenium-example.crx and b/examples/ruby/spec/spec_support/extensions/webextensions-selenium-example.crx differ diff --git a/examples/ruby/spec/spec_support/extensions/webextensions-selenium-example/manifest.json b/examples/ruby/spec/spec_support/extensions/webextensions-selenium-example/manifest.json index a8b4fec6e60f..69e480dc60dd 100644 --- a/examples/ruby/spec/spec_support/extensions/webextensions-selenium-example/manifest.json +++ b/examples/ruby/spec/spec_support/extensions/webextensions-selenium-example/manifest.json @@ -14,9 +14,17 @@ ] } ], + "permissions": [ + "storage", + "scripting" + ], + "host_permissions": [ + "https://*/*", + "http://*/*" + ], "browser_specific_settings": { "gecko": { "id": "webextensions-selenium-example-v3@example.com" } } -} \ No newline at end of file +} pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy