Class: SpecHelperTemplate
- Inherits:
-
Template
show all
- Defined in:
- lib/generators/templates/helpers/spec_helper_template.rb
Instance Method Summary
collapse
Methods inherited from Template
#initialize, #parsed_body
Constructor Details
This class inherits a constructor from Template
Instance Method Details
#before_configuration ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/generators/templates/helpers/spec_helper_template.rb', line 12
def before_configuration
driver_setup = if %w[selenium watir].include?(@automation)
select_helper
else
<<-EOF.chomp
#{select_helper}
DriverHelper.driver.start_driver
EOF
end
<<-EOF.chomp
config.before(:each) do
#{driver_setup}
end
EOF
end
|
#body ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/generators/templates/helpers/spec_helper_template.rb', line 46
def body
<<~EOF
require 'active_support/all'
require 'rspec'
require_relative 'allure_helper'
#{require_driver}
module Raider
module SpecHelper
AllureHelper.configure
RSpec.configure do |config|
config.formatter = AllureHelper.formatter
#{before_configuration}
config.after(:each) do
example_name = self.class.descendant_filtered_examples.first.description
status = self.class.descendant_filtered_examples.first.execution_result.status
#{save_screenshot}
AllureHelper.add_screenshot example_name if status == :failed
#{quit_driver}
end
end
end
end
EOF
end
|
#quit_driver ⇒ Object
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/generators/templates/helpers/spec_helper_template.rb', line 30
def quit_driver
case @automation
when 'selenium'
'DriverHelper.driver.quit'
when 'watir'
'BrowserHelper.browser.quit'
else
'DriverHelper.driver.quit_driver'
end
end
|
#require_driver ⇒ Object
4
5
6
|
# File 'lib/generators/templates/helpers/spec_helper_template.rb', line 4
def require_driver
"require_relative '#{@automation == 'watir' ? 'browser_helper' : 'driver_helper'}'"
end
|
#save_screenshot ⇒ Object
41
42
43
44
|
# File 'lib/generators/templates/helpers/spec_helper_template.rb', line 41
def save_screenshot
driver = @automation == 'watir' ? 'browser' : 'driver'
"#{driver}.save_screenshot(\"allure-results/screenshots/\#{example_name}.png\") if status == :failed"
end
|
#select_helper ⇒ Object
8
9
10
|
# File 'lib/generators/templates/helpers/spec_helper_template.rb', line 8
def select_helper
@automation == 'watir' ? 'BrowserHelper.new_browser' : 'DriverHelper.new_driver'
end
|