ruby_raider 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aace14774067301e8684757746f8bcbfce04d3515e65760d5152e5161246d668
4
- data.tar.gz: 2ca8f14af7aef79f26c7fa95339f2d73f45ecf75c1b424f2318501dd576ef1ec
3
+ metadata.gz: ed1c1f61d9c3a4eaeb21508c43dc140afff1c17ac9314b8b1c7cea6632ea954d
4
+ data.tar.gz: 4106d65568c8ed549f94cb08413aaf8c335942609ba0d7d1eaa876a56727f831
5
5
  SHA512:
6
- metadata.gz: a52a934e23410edc20803c6b8e8c6f494c93b7f7cfd76427ed3d205c235524d5ee81213765daa3ab2053318118a6f9ab38100159d87bd19312aef411450496c0
7
- data.tar.gz: d1751f9086dfe00cc95dd8f5a39e246d6a8c57558dfd9caa82e434ea54c55d39b77e16a7a957e0f3a746392a6d4a4abb512fab21932816309923ef648a4ac3a0
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
@@ -36,8 +36,4 @@ class CommonGenerator < Generator
36
36
  def create_allure_folder
37
37
  empty_directory "#{name}/allure-results"
38
38
  end
39
-
40
- def create_screenshots_folder
41
- empty_directory "#{name}/allure-results/screenshots"
42
- end
43
39
  end
@@ -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
- app.screenshot.save("allure-results/screenshots/#{scenario.name}.png")
14
- AllureHelper.add_screenshot(scenario.name)
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
- driver.screenshot("allure-results/screenshots/#{scenario.name}.png")
30
- AllureHelper.add_screenshot(scenario.name)
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
- driver.save_screenshot("allure-results/screenshots/#{scenario.name}.png")
21
- AllureHelper.add_screenshot(scenario.name)
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
- driver.save_screenshot("allure-results/screenshots/#{scenario.name}.png")
43
- AllureHelper.add_screenshot(scenario.name)
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
- browser.screenshot.save("allure-results/screenshots/#{scenario.name}.png")
14
- AllureHelper.add_screenshot(scenario.name)
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(screenshot_name)
16
+ def add_screenshot(name, file)
17
17
  Allure.add_attachment(
18
- name: name,
19
- source: File.open("allure-results/screenshots/#{screenshot_name}.png"),
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
- @config = YAML.load_file('config/config.yml')
16
- browser = @config['browser'].to_sym
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: browser_options(*opts))
5
+ Selenium::WebDriver.for(browser, options: create_webdriver_options(*opts))
6
6
  end
7
7
 
8
- def browser_options(*opts)
9
- opts = opts.empty? ? @config['browser_options'] : opts
10
- create_options(*opts)
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 create_options(*opts)
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 { |option| options.add_argument(option) }
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("allure-results/screenshots/#{example_name}.png")
3
+ screenshot = driver.save_screenshot("#{temp_folder}/#{example_name}.png")
4
4
  <% when 'watir' %>
5
- browser.screenshot.save("allure-results/screenshots/#{example_name}.png")
5
+ screenshot = browser.screenshot.save("#{temp_folder}/#{example_name}.png")
6
6
  <% else %>
7
- driver.screenshot("allure-results/screenshots/#{example_name}.png")
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 = self.class.descendant_filtered_examples.first.description
21
- app.screenshot.save("allure-results/screenshots/#{example_name}.png")
22
- AllureHelper.add_screenshot example_name
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 = self.class.descendant_filtered_examples.first.description
60
- <%= ERB.new(File.read(File.expand_path('./partials/screenshot.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
61
- AllureHelper.add_screenshot example_name
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 = self.class.descendant_filtered_examples.first.description
23
- driver.save_screenshot("allure-results/screenshots/#{example_name}.png")
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.2, Happy testing!'
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.2'
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.2
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-09-20 00:00:00.000000000 Z
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.19
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