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
|