ruby_raider 0.8.2 → 0.8.3
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.
- checksums.yaml +4 -4
- data/lib/generators/actions/templates/actions.tt +1 -7
- data/lib/generators/common_generator.rb +0 -4
- data/lib/generators/cucumber/templates/partials/appium_env.tt +11 -5
- data/lib/generators/cucumber/templates/partials/selenium_env.tt +11 -5
- data/lib/generators/cucumber/templates/partials/watir_env.tt +5 -2
- data/lib/generators/templates/common/config.tt +1 -1
- data/lib/generators/templates/common/partials/web_config.tt +14 -0
- data/lib/generators/templates/helpers/allure_helper.tt +4 -4
- data/lib/generators/templates/helpers/browser_helper.tt +7 -5
- data/lib/generators/templates/helpers/partials/driver_and_options.tt +10 -6
- data/lib/generators/templates/helpers/partials/screenshot.tt +4 -4
- data/lib/generators/templates/helpers/spec_helper.tt +15 -9
- data/lib/generators/templates/helpers/visual_spec_helper.tt +7 -4
- data/lib/ruby_raider.rb +1 -1
- data/ruby_raider.gemspec +1 -1
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ed1c1f61d9c3a4eaeb21508c43dc140afff1c17ac9314b8b1c7cea6632ea954d
         | 
| 4 | 
            +
              data.tar.gz: 4106d65568c8ed549f94cb08413aaf8c335942609ba0d7d1eaa876a56727f831
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d1813f00173a8daf5974fbb47fa41368f53f748aa328f97f5c01f08975b363ccf403a5bf7a99ac76a4bb3546bd45ed9342a275fb4b9eab43d66a17add8742f67
         | 
| 7 | 
            +
              data.tar.gz: f401808ed737b8150509af8347930d6d35013a0d29a3bb3c16e141d39ece0b0321f18025f3f31282001f76cd8dd5b611b21598f4adb9bc8025247aaa87b086f3
         | 
| @@ -31,14 +31,8 @@ jobs: | |
| 31 31 | 
             
                  - name: Create allure-results folder
         | 
| 32 32 | 
             
                    run: mkdir -p allure-results
         | 
| 33 33 |  | 
| 34 | 
            -
                  - name: Create screenshots folder
         | 
| 35 | 
            -
                    run: mkdir -p allure-results/screenshots
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                  - name: Prepare the browser options
         | 
| 38 | 
            -
                    run: raider utility browser_options headless no-sandbox window-size=1920,1080
         | 
| 39 | 
            -
             | 
| 40 34 | 
             
                  - name: Build and test with rspec
         | 
| 41 | 
            -
                    run: <%- if framework == 'cucumber' -%>cucumber features --format pretty <%- else -%>bundle exec rspec spec --format documentation<%- end  | 
| 35 | 
            +
                    run: <%- if framework == 'cucumber' -%>cucumber features --format pretty <%- else -%>bundle exec rspec spec --format documentation<%- end -%>
         | 
| 42 36 |  | 
| 43 37 | 
             
                  - name: Get Allure history
         | 
| 44 38 | 
             
                    uses: actions/checkout@v2
         | 
| @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            <%- if automation == 'sparkling_ios' -%>
         | 
| 2 | 
            +
            require 'tmpdir'
         | 
| 2 3 | 
             
            require_relative '../../helpers/allure_helper'
         | 
| 3 4 | 
             
            require_relative '../../helpers/driver_helper'
         | 
| 4 5 |  | 
| @@ -10,11 +11,14 @@ Before do | |
| 10 11 | 
             
            end
         | 
| 11 12 |  | 
| 12 13 | 
             
            After do |scenario|
         | 
| 13 | 
            -
               | 
| 14 | 
            -
             | 
| 14 | 
            +
              Dir.mktmpdir do |temp_folder|
         | 
| 15 | 
            +
                screenshot = app.screenshot.save("#{temp_folder}/#{scenario.name}.png")
         | 
| 16 | 
            +
                AllureHelper.add_screenshot(scenario.name, screenshot)
         | 
| 17 | 
            +
              end
         | 
| 15 18 | 
             
              app.close
         | 
| 16 19 | 
             
            end
         | 
| 17 20 | 
             
            <%- else -%>
         | 
| 21 | 
            +
            require 'tmpdir'
         | 
| 18 22 | 
             
            require_relative '../../helpers/allure_helper'
         | 
| 19 23 | 
             
            require_relative '../../helpers/driver_helper'
         | 
| 20 24 |  | 
| @@ -26,8 +30,10 @@ Before do | |
| 26 30 | 
             
            end
         | 
| 27 31 |  | 
| 28 32 | 
             
            After do |scenario|
         | 
| 29 | 
            -
               | 
| 30 | 
            -
             | 
| 33 | 
            +
              Dir.mktmpdir do |temp_folder|
         | 
| 34 | 
            +
                screenshot = driver.screenshot("#{temp_folder}/#{scenario.name}.png")
         | 
| 35 | 
            +
                AllureHelper.add_screenshot(scenario.name, screenshot)
         | 
| 36 | 
            +
              end
         | 
| 31 37 | 
             
              driver.quit_driver
         | 
| 32 38 | 
             
            end
         | 
| 33 | 
            -
            <%- end -%>
         | 
| 39 | 
            +
            <%- end -%>
         | 
| @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            <%- if visual_automation -%>
         | 
| 2 2 | 
             
            # frozen_string_literal: true
         | 
| 3 3 |  | 
| 4 | 
            +
            require 'tmpdir'
         | 
| 4 5 | 
             
            require_relative '../../helpers/allure_helper'
         | 
| 5 6 | 
             
            require_relative '../../helpers/driver_helper'
         | 
| 6 7 | 
             
            require_relative '../../helpers/visual_helper'
         | 
| @@ -17,8 +18,10 @@ Before do | |
| 17 18 | 
             
            end
         | 
| 18 19 |  | 
| 19 20 | 
             
            After do |scenario|
         | 
| 20 | 
            -
               | 
| 21 | 
            -
             | 
| 21 | 
            +
              Dir.mktmpdir do |temp_folder|
         | 
| 22 | 
            +
                screenshot = driver.save_screenshot("#{temp_folder}/#{scenario.name}.png")
         | 
| 23 | 
            +
                AllureHelper.add_screenshot(scenario.name, screenshot)
         | 
| 24 | 
            +
              end
         | 
| 22 25 | 
             
              @eyes.close
         | 
| 23 26 | 
             
              @driver.quit
         | 
| 24 27 | 
             
              @eyes.abort_async
         | 
| @@ -29,6 +32,7 @@ end | |
| 29 32 | 
             
            <%- else -%>
         | 
| 30 33 | 
             
            # frozen_string_literal: true
         | 
| 31 34 |  | 
| 35 | 
            +
            require 'tmpdir'
         | 
| 32 36 | 
             
            require_relative '../../helpers/driver_helper'
         | 
| 33 37 | 
             
            require_relative '../../helpers/allure_helper'
         | 
| 34 38 |  | 
| @@ -39,8 +43,10 @@ Before do | |
| 39 43 | 
             
            end
         | 
| 40 44 |  | 
| 41 45 | 
             
            After do |scenario|
         | 
| 42 | 
            -
               | 
| 43 | 
            -
             | 
| 46 | 
            +
              Dir.mktmpdir do |temp_folder|
         | 
| 47 | 
            +
                screenshot = driver.save_screenshot("#{temp_folder}/#{scenario.name}.png")
         | 
| 48 | 
            +
                AllureHelper.add_screenshot(scenario.name, screenshot)
         | 
| 49 | 
            +
              end
         | 
| 44 50 | 
             
              driver.quit
         | 
| 45 51 | 
             
            end
         | 
| 46 | 
            -
            <%- end -%>
         | 
| 52 | 
            +
            <%- end -%>
         | 
| @@ -1,5 +1,6 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            +
            require 'tmpdir'
         | 
| 3 4 | 
             
            require_relative '../../helpers/allure_helper'
         | 
| 4 5 | 
             
            require_relative '../../helpers/browser_helper'
         | 
| 5 6 |  | 
| @@ -10,7 +11,9 @@ Before do | |
| 10 11 | 
             
            end
         | 
| 11 12 |  | 
| 12 13 | 
             
            After do |scenario|
         | 
| 13 | 
            -
               | 
| 14 | 
            -
             | 
| 14 | 
            +
              Dir.mktmpdir do |temp_folder|
         | 
| 15 | 
            +
                screenshot = browser.screenshot.save("#{temp_folder}/#{scenario.name}.png")
         | 
| 16 | 
            +
                AllureHelper.add_screenshot(scenario.name, screenshot)
         | 
| 17 | 
            +
              end
         | 
| 15 18 | 
             
              browser.quit
         | 
| 16 19 | 
             
            end
         | 
| @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            <% if %w[ios android cross_platform].include?(automation) -%>
         | 
| 2 2 | 
             
            <%= ERB.new(File.read(File.expand_path('./partials/mobile_config.tt', __dir__))).result(binding) %>
         | 
| 3 3 | 
             
            <% else -%>
         | 
| 4 | 
            -
            <%= ERB.new(File.read(File.expand_path('./partials/web_config.tt', __dir__))).result(binding) %>
         | 
| 4 | 
            +
            <%= ERB.new(File.read(File.expand_path('./partials/web_config.tt', __dir__)), trim_mode: '-').result(binding) %>
         | 
| 5 5 | 
             
            <% end -%>
         | 
| @@ -1,3 +1,17 @@ | |
| 1 1 | 
             
            browser: :chrome
         | 
| 2 2 | 
             
            url: 'https://automationteststore.com/'
         | 
| 3 3 |  | 
| 4 | 
            +
            <%- if automation == 'selenium' -%>
         | 
| 5 | 
            +
            driver_options:
         | 
| 6 | 
            +
              :timeouts:
         | 
| 7 | 
            +
                :implicit: 10000 # 10 seconds
         | 
| 8 | 
            +
            <% end -%>
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            browser_arguments:
         | 
| 11 | 
            +
              :chrome:
         | 
| 12 | 
            +
                - no-sandbox
         | 
| 13 | 
            +
                - disable-dev-shm-usage
         | 
| 14 | 
            +
                - ignore-certificate-errors
         | 
| 15 | 
            +
              :firefox:
         | 
| 16 | 
            +
                - acceptInsecureCerts
         | 
| 17 | 
            +
                - no-sandbox
         | 
| @@ -13,10 +13,10 @@ module AllureHelper | |
| 13 13 | 
             
                  end
         | 
| 14 14 | 
             
                end
         | 
| 15 15 |  | 
| 16 | 
            -
                def add_screenshot( | 
| 16 | 
            +
                def add_screenshot(name, file)
         | 
| 17 17 | 
             
                  Allure.add_attachment(
         | 
| 18 | 
            -
                    name | 
| 19 | 
            -
                    source:  | 
| 18 | 
            +
                    name:,
         | 
| 19 | 
            +
                    source: file,
         | 
| 20 20 | 
             
                    type: Allure::ContentType::PNG,
         | 
| 21 21 | 
             
                    test_case: true
         | 
| 22 22 | 
             
                   )
         | 
| @@ -28,4 +28,4 @@ module AllureHelper | |
| 28 28 | 
             
                end
         | 
| 29 29 | 
             
                  <%- end -%>
         | 
| 30 30 | 
             
              end
         | 
| 31 | 
            -
            end
         | 
| 31 | 
            +
            end
         | 
| @@ -11,10 +11,12 @@ module BrowserHelper | |
| 11 11 |  | 
| 12 12 | 
             
              private
         | 
| 13 13 |  | 
| 14 | 
            +
              def config
         | 
| 15 | 
            +
                @config ||= YAML.load_file('config/config.yml')
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
             | 
| 14 18 | 
             
              def create_browser(*args)
         | 
| 15 | 
            -
                 | 
| 16 | 
            -
                 | 
| 17 | 
            -
                args = args.empty? ? @config['browser_options'] : args
         | 
| 18 | 
            -
                @browser = Watir::Browser.new(browser, options: { args: args })
         | 
| 19 | 
            +
                args = args.empty? ? config['browser_arguments'][config['browser']] : args
         | 
| 20 | 
            +
                Watir::Browser.new(config['browser'], options: { args: args })
         | 
| 19 21 | 
             
              end
         | 
| 20 | 
            -
            end
         | 
| 22 | 
            +
            end
         | 
| @@ -2,20 +2,24 @@ | |
| 2 2 | 
             
              def create_driver(*opts)
         | 
| 3 3 | 
             
                @config = YAML.load_file('config/config.yml')
         | 
| 4 4 | 
             
                browser = @config['browser'].to_sym
         | 
| 5 | 
            -
                Selenium::WebDriver.for(browser, options:  | 
| 5 | 
            +
                Selenium::WebDriver.for(browser, options: create_webdriver_options(*opts))
         | 
| 6 6 | 
             
              end
         | 
| 7 7 |  | 
| 8 | 
            -
              def  | 
| 9 | 
            -
                opts | 
| 10 | 
            -
             | 
| 8 | 
            +
              def browser_arguments(*opts)
         | 
| 9 | 
            +
                opts.empty? ? @config['browser_arguments'][@config['browser']] : opts
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
              def driver_options
         | 
| 13 | 
            +
                @config['driver_options']
         | 
| 11 14 | 
             
              end
         | 
| 12 15 |  | 
| 13 16 | 
             
              # :reek:FeatureEnvy
         | 
| 14 | 
            -
              def  | 
| 17 | 
            +
              def create_webdriver_options(*opts)
         | 
| 15 18 | 
             
                load_browser = @config['browser'].to_s
         | 
| 16 19 | 
             
                browser = load_browser == 'ie' ? load_browser.upcase : load_browser.capitalize
         | 
| 17 20 | 
             
                options = "Selenium::WebDriver::#{browser}::Options".constantize.new
         | 
| 18 | 
            -
                opts.each { | | 
| 21 | 
            +
                browser_arguments(*opts).each { |arg| options.add_argument(arg) }
         | 
| 22 | 
            +
                driver_options.each { |opt| options.add_option(opt.first, opt.last) }
         | 
| 19 23 | 
             
                options
         | 
| 20 24 | 
             
              end
         | 
| 21 25 |  | 
| @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            <% case automation
         | 
| 2 2 | 
             
             when 'selenium' %>
         | 
| 3 | 
            -
            driver.save_screenshot(" | 
| 3 | 
            +
            screenshot = driver.save_screenshot("#{temp_folder}/#{example_name}.png")
         | 
| 4 4 | 
             
            <% when 'watir' %>
         | 
| 5 | 
            -
            browser.screenshot.save(" | 
| 5 | 
            +
            screenshot = browser.screenshot.save("#{temp_folder}/#{example_name}.png")
         | 
| 6 6 | 
             
            <% else %>
         | 
| 7 | 
            -
            driver.screenshot(" | 
| 8 | 
            -
            <% end %>
         | 
| 7 | 
            +
            screenshot = driver.screenshot("#{temp_folder}/#{example_name}.png")
         | 
| 8 | 
            +
            <% end %>
         | 
| @@ -2,6 +2,7 @@ | |
| 2 2 | 
             
            # frozen_string_literal: true
         | 
| 3 3 |  | 
| 4 4 | 
             
            require 'rspec'
         | 
| 5 | 
            +
            require 'tmpdir'
         | 
| 5 6 | 
             
            require_relative 'allure_helper'
         | 
| 6 7 | 
             
            require_relative 'driver_helper'
         | 
| 7 8 | 
             
            require 'sparkling_watir'
         | 
| @@ -16,10 +17,12 @@ module SpecHelper | |
| 16 17 | 
             
                  app
         | 
| 17 18 | 
             
                end
         | 
| 18 19 |  | 
| 19 | 
            -
                config.after(:each) do
         | 
| 20 | 
            -
                  example_name =  | 
| 21 | 
            -
                   | 
| 22 | 
            -
             | 
| 20 | 
            +
                config.after(:each) do |example|
         | 
| 21 | 
            +
                  example_name = example.description
         | 
| 22 | 
            +
                  Dir.mktmpdir do |temp_folder|
         | 
| 23 | 
            +
                    app.screenshot.save("#{temp_folder}/#{example_name}.png")
         | 
| 24 | 
            +
                    AllureHelper.add_screenshot(example_name, screenshot)
         | 
| 25 | 
            +
                  end
         | 
| 23 26 | 
             
                  app.close
         | 
| 24 27 | 
             
                end
         | 
| 25 28 | 
             
              end
         | 
| @@ -28,6 +31,7 @@ end | |
| 28 31 | 
             
            # frozen_string_literal: true
         | 
| 29 32 |  | 
| 30 33 | 
             
            require 'rspec'
         | 
| 34 | 
            +
            require 'tmpdir'
         | 
| 31 35 | 
             
            require_relative 'allure_helper'
         | 
| 32 36 | 
             
            <%- if automation == 'watir' -%>
         | 
| 33 37 | 
             
            require_relative 'browser_helper'
         | 
| @@ -55,12 +59,14 @@ module SpecHelper | |
| 55 59 | 
             
                end
         | 
| 56 60 | 
             
                <%- end -%>
         | 
| 57 61 |  | 
| 58 | 
            -
                config.after(:each) do
         | 
| 59 | 
            -
                  example_name =  | 
| 60 | 
            -
                   | 
| 61 | 
            -
             | 
| 62 | 
            +
                config.after(:each) do |example|
         | 
| 63 | 
            +
                  example_name = example.description
         | 
| 64 | 
            +
                  Dir.mktmpdir do |temp_folder|
         | 
| 65 | 
            +
                    <%= ERB.new(File.read(File.expand_path('./partials/screenshot.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
         | 
| 66 | 
            +
                    AllureHelper.add_screenshot(example_name, screenshot)
         | 
| 67 | 
            +
                  end
         | 
| 62 68 | 
             
                  <%= ERB.new(File.read(File.expand_path('./partials/quit_driver.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
         | 
| 63 69 | 
             
                end
         | 
| 64 70 | 
             
              end
         | 
| 65 71 | 
             
            end
         | 
| 66 | 
            -
            <%- end -%>
         | 
| 72 | 
            +
            <%- end -%>
         | 
| @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            require 'rspec'
         | 
| 4 | 
            +
            require 'tmpdir'
         | 
| 4 5 | 
             
            require 'eyes_selenium'
         | 
| 5 6 | 
             
            require_relative 'allure_helper'
         | 
| 6 7 | 
             
            require_relative 'driver_helper'
         | 
| @@ -18,13 +19,15 @@ module SpecHelper | |
| 18 19 | 
             
                    @driver = @eyes.open(driver: driver)
         | 
| 19 20 | 
             
                  end
         | 
| 20 21 |  | 
| 21 | 
            -
                  config.after(:each) do
         | 
| 22 | 
            -
                    example_name =  | 
| 23 | 
            -
                     | 
| 22 | 
            +
                  config.after(:each) do |example|
         | 
| 23 | 
            +
                    example_name = example.description
         | 
| 24 | 
            +
                    Dir.mktmpdir do |temp_folder|
         | 
| 25 | 
            +
                      <%= ERB.new(File.read(File.expand_path('./partials/screenshot.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
         | 
| 26 | 
            +
                      AllureHelper.add_screenshot(example_name, screenshot)
         | 
| 27 | 
            +
                    end
         | 
| 24 28 | 
             
                    @eyes.close
         | 
| 25 29 | 
             
                    @driver.quit
         | 
| 26 30 | 
             
                    @eyes.abort_async
         | 
| 27 | 
            -
                    AllureHelper.add_screenshot example_name
         | 
| 28 31 | 
             
                    results = @grid_runner.get_all_test_results
         | 
| 29 32 | 
             
                    puts results
         | 
| 30 33 | 
             
                  end
         | 
    
        data/lib/ruby_raider.rb
    CHANGED
    
    | @@ -19,7 +19,7 @@ module RubyRaider | |
| 19 19 | 
             
                desc 'version', 'It shows the version of Ruby Raider you are currently using'
         | 
| 20 20 |  | 
| 21 21 | 
             
                def version
         | 
| 22 | 
            -
                  puts 'The Ruby Raider version is 0.8. | 
| 22 | 
            +
                  puts 'The Ruby Raider version is 0.8.3, Happy testing!'
         | 
| 23 23 | 
             
                end
         | 
| 24 24 |  | 
| 25 25 | 
             
                map 'v' => 'version'
         | 
    
        data/ruby_raider.gemspec
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            Gem::Specification.new do |s|
         | 
| 4 4 | 
             
              s.name        = 'ruby_raider'
         | 
| 5 | 
            -
              s.version     = '0.8. | 
| 5 | 
            +
              s.version     = '0.8.3'
         | 
| 6 6 | 
             
              s.summary     = 'A gem to make setup and start of UI automation projects easier'
         | 
| 7 7 | 
             
              s.description = 'This gem has everything you need to start working with test automation'
         | 
| 8 8 | 
             
              s.authors     = ['Agustin Pequeno']
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ruby_raider
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.8. | 
| 4 | 
            +
              version: 0.8.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Agustin Pequeno
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2023- | 
| 11 | 
            +
            date: 2023-11-20 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: dotenv
         | 
| @@ -308,7 +308,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 308 308 | 
             
                - !ruby/object:Gem::Version
         | 
| 309 309 | 
             
                  version: '0'
         | 
| 310 310 | 
             
            requirements: []
         | 
| 311 | 
            -
            rubygems_version: 3.4. | 
| 311 | 
            +
            rubygems_version: 3.4.10
         | 
| 312 312 | 
             
            signing_key:
         | 
| 313 313 | 
             
            specification_version: 4
         | 
| 314 314 | 
             
            summary: A gem to make setup and start of UI automation projects easier
         |