Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions lib/generators/actions/templates/actions.tt
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,6 @@ jobs:
- name: Create allure-results folder
run: mkdir -p allure-results

- name: Create screenshots folder
run: mkdir -p allure-results/screenshots

- name: Build and test with rspec
run: <%- if framework == 'cucumber' -%>cucumber features --format pretty <%- else -%>bundle exec rspec spec --format documentation<%- end -%>

Expand Down
4 changes: 0 additions & 4 deletions lib/generators/common_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,4 @@ def generate_gitignore_file
def create_allure_folder
empty_directory "#{name}/allure-results"
end

def create_screenshots_folder
empty_directory "#{name}/allure-results/screenshots"
end
end
16 changes: 11 additions & 5 deletions lib/generators/cucumber/templates/partials/appium_env.tt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<%- if automation == 'sparkling_ios' -%>
require 'tmpdir'
require_relative '../../helpers/allure_helper'
require_relative '../../helpers/driver_helper'

Expand All @@ -10,11 +11,14 @@ Before do
end

After do |scenario|
app.screenshot.save("allure-results/screenshots/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name)
Dir.mktmpdir do |temp_folder|
screenshot = app.screenshot.save("#{temp_folder}/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name, screenshot)
end
app.close
end
<%- else -%>
require 'tmpdir'
require_relative '../../helpers/allure_helper'
require_relative '../../helpers/driver_helper'

Expand All @@ -26,8 +30,10 @@ Before do
end

After do |scenario|
driver.screenshot("allure-results/screenshots/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name)
Dir.mktmpdir do |temp_folder|
screenshot = driver.screenshot("#{temp_folder}/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name, screenshot)
end
driver.quit_driver
end
<%- end -%>
<%- end -%>
16 changes: 11 additions & 5 deletions lib/generators/cucumber/templates/partials/selenium_env.tt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<%- if visual_automation -%>
# frozen_string_literal: true

require 'tmpdir'
require_relative '../../helpers/allure_helper'
require_relative '../../helpers/driver_helper'
require_relative '../../helpers/visual_helper'
Expand All @@ -17,8 +18,10 @@ Before do
end

After do |scenario|
driver.save_screenshot("allure-results/screenshots/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name)
Dir.mktmpdir do |temp_folder|
screenshot = driver.save_screenshot("#{temp_folder}/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name, screenshot)
end
@eyes.close
@driver.quit
@eyes.abort_async
Expand All @@ -29,6 +32,7 @@ end
<%- else -%>
# frozen_string_literal: true

require 'tmpdir'
require_relative '../../helpers/driver_helper'
require_relative '../../helpers/allure_helper'

Expand All @@ -39,8 +43,10 @@ Before do
end

After do |scenario|
driver.save_screenshot("allure-results/screenshots/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name)
Dir.mktmpdir do |temp_folder|
screenshot = driver.save_screenshot("#{temp_folder}/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name, screenshot)
end
driver.quit
end
<%- end -%>
<%- end -%>
7 changes: 5 additions & 2 deletions lib/generators/cucumber/templates/partials/watir_env.tt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# frozen_string_literal: true

require 'tmpdir'
require_relative '../../helpers/allure_helper'
require_relative '../../helpers/browser_helper'

Expand All @@ -10,7 +11,9 @@ Before do
end

After do |scenario|
browser.screenshot.save("allure-results/screenshots/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name)
Dir.mktmpdir do |temp_folder|
screenshot = browser.screenshot.save("#{temp_folder}/#{scenario.name}.png")
AllureHelper.add_screenshot(scenario.name, screenshot)
end
browser.quit
end
8 changes: 4 additions & 4 deletions lib/generators/templates/helpers/allure_helper.tt
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ module AllureHelper
end
end

def add_screenshot(screenshot_name)
def add_screenshot(name, file)
Allure.add_attachment(
name: name,
source: File.open("allure-results/screenshots/#{screenshot_name}.png"),
name:,
source: file,
type: Allure::ContentType::PNG,
test_case: true
)
Expand All @@ -28,4 +28,4 @@ module AllureHelper
end
<%- end -%>
end
end
end
8 changes: 4 additions & 4 deletions lib/generators/templates/helpers/partials/screenshot.tt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<% case automation
when 'selenium' %>
driver.save_screenshot("allure-results/screenshots/#{example_name}.png")
screenshot = driver.save_screenshot("#{temp_folder}/#{example_name}.png")
<% when 'watir' %>
browser.screenshot.save("allure-results/screenshots/#{example_name}.png")
screenshot = browser.screenshot.save("#{temp_folder}/#{example_name}.png")
<% else %>
driver.screenshot("allure-results/screenshots/#{example_name}.png")
<% end %>
screenshot = driver.screenshot("#{temp_folder}/#{example_name}.png")
<% end %>
16 changes: 11 additions & 5 deletions lib/generators/templates/helpers/spec_helper.tt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# frozen_string_literal: true

require 'rspec'
require 'tmpdir'
require_relative 'allure_helper'
require_relative 'driver_helper'
require 'sparkling_watir'
Expand All @@ -18,8 +19,10 @@ module SpecHelper

config.after(:each) do |example|
example_name = example.description
app.screenshot.save("allure-results/screenshots/#{example_name}.png")
AllureHelper.add_screenshot example_name
Dir.mktmpdir do |temp_folder|
app.screenshot.save("#{temp_folder}/#{example_name}.png")
AllureHelper.add_screenshot(example_name, screenshot)
end
app.close
end
end
Expand All @@ -28,6 +31,7 @@ end
# frozen_string_literal: true

require 'rspec'
require 'tmpdir'
require_relative 'allure_helper'
<%- if automation == 'watir' -%>
require_relative 'browser_helper'
Expand Down Expand Up @@ -57,10 +61,12 @@ module SpecHelper

config.after(:each) do |example|
example_name = example.description
<%= ERB.new(File.read(File.expand_path('./partials/screenshot.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
AllureHelper.add_screenshot example_name
Dir.mktmpdir do |temp_folder|
<%= ERB.new(File.read(File.expand_path('./partials/screenshot.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
AllureHelper.add_screenshot(example_name, screenshot)
end
<%= ERB.new(File.read(File.expand_path('./partials/quit_driver.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
end
end
end
<%- end -%>
<%- end -%>
11 changes: 7 additions & 4 deletions lib/generators/templates/helpers/visual_spec_helper.tt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# frozen_string_literal: true

require 'rspec'
require 'tmpdir'
require 'eyes_selenium'
require_relative 'allure_helper'
require_relative 'driver_helper'
Expand All @@ -18,13 +19,15 @@ module SpecHelper
@driver = @eyes.open(driver: driver)
end

config.after(:each) do
example_name = self.class.descendant_filtered_examples.first.description
driver.save_screenshot("allure-results/screenshots/#{example_name}.png")
config.after(:each) do |example|
example_name = example.description
Dir.mktmpdir do |temp_folder|
<%= ERB.new(File.read(File.expand_path('./partials/screenshot.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
AllureHelper.add_screenshot(example_name, screenshot)
end
@eyes.close
@driver.quit
@eyes.abort_async
AllureHelper.add_screenshot example_name
results = @grid_runner.get_all_test_results
puts results
end
Expand Down