ruby_raider 0.1.2 → 0.1.7
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/.gitignore +3 -1
- data/Gemfile +5 -0
- data/README.md +8 -3
- data/bin/raider +0 -0
- data/lib/generators/files/automation_file_generator.rb +38 -0
- data/lib/generators/files/common_file_generator.rb +27 -127
- data/lib/generators/files/cucumber_file_generator.rb +33 -0
- data/lib/generators/files/file_generator.rb +7 -5
- data/lib/generators/files/helpers_file_generator.rb +47 -218
- data/lib/generators/files/rspec_file_generator.rb +16 -51
- data/lib/generators/menu_generator.rb +15 -5
- data/lib/generators/projects/cucumber_project_generator.rb +20 -8
- data/lib/generators/projects/project_generator.rb +7 -5
- data/lib/generators/projects/rspec_project_generator.rb +13 -14
- data/lib/generators/templates/automation/abstract_component_template.rb +22 -0
- data/lib/generators/templates/automation/abstract_page_template.rb +48 -0
- data/lib/generators/templates/automation/component_template.rb +16 -0
- data/lib/generators/templates/automation/page_template.rb +51 -0
- data/lib/generators/templates/common/config_template.rb +9 -0
- data/lib/generators/templates/common/gemfile_template.rb +29 -0
- data/lib/generators/templates/common/rake_file_template.rb +16 -0
- data/lib/generators/templates/common/read_me_template.rb +104 -0
- data/lib/generators/templates/cucumber/env_template.rb +38 -0
- data/lib/generators/templates/cucumber/example_feature_template.rb +15 -0
- data/lib/generators/templates/cucumber/example_steps_template.rb +21 -0
- data/lib/generators/templates/helpers/allure_helper_template.rb +47 -0
- data/lib/generators/templates/helpers/browser_helper_template.rb +26 -0
- data/lib/generators/templates/helpers/driver_helper_template.rb +24 -0
- data/lib/generators/templates/helpers/pom_helper_template.rb +25 -0
- data/lib/generators/templates/helpers/raider_helper_template.rb +15 -0
- data/lib/generators/templates/helpers/selenium_helper_template.rb +42 -0
- data/lib/generators/templates/helpers/spec_helper_template.rb +35 -0
- data/lib/generators/templates/helpers/watir_helper_template.rb +24 -0
- data/lib/generators/templates/rspec/base_spec_template.rb +13 -0
- data/lib/generators/templates/rspec/example_spec_template.rb +33 -0
- data/lib/generators/templates/template.rb +14 -0
- data/lib/ruby_raider.rb +3 -3
- data/ruby_raider.gemspec +4 -3
- data/spec/automation_file_generator_spec.rb +34 -0
- data/spec/common_file_generator_spec.rb +12 -3
- data/spec/cucumber_file_generator_spec.rb +26 -0
- data/spec/cucumber_project_generator_spec.rb +60 -0
- data/spec/helpers_file_generator_spec.rb +58 -16
- data/spec/rspec_file_generator_spec.rb +11 -2
- data/spec/rspec_project_generator_spec.rb +18 -9
- data/spec/spec_helper.rb +2 -12
- metadata +52 -15
- data/lib/generators/files/selenium_file_generator.rb +0 -159
- data/lib/generators/files/watir_file_generator.rb +0 -142
- data/spec/menu_generator_spec.rb +0 -8
- data/spec/selenium_file_generator_spec.rb +0 -29
- data/spec/watir_file_generator_spec.rb +0 -25
@@ -0,0 +1,42 @@
|
|
1
|
+
require_relative '../template'
|
2
|
+
|
3
|
+
class SeleniumHelperTemplate < Template
|
4
|
+
def body
|
5
|
+
<<~EOF
|
6
|
+
require 'selenium-webdriver'
|
7
|
+
require_relative 'driver_helper'
|
8
|
+
|
9
|
+
module Raider
|
10
|
+
module SeleniumHelper
|
11
|
+
def click_when_present
|
12
|
+
# This is an example of an implicit wait in selenium
|
13
|
+
wait = Selenium::WebDriver::Wait.new(timeout: 15)
|
14
|
+
wait.until { present? }
|
15
|
+
click
|
16
|
+
end
|
17
|
+
|
18
|
+
def select_by(key, value)
|
19
|
+
# Creates new Select object to use the select by method
|
20
|
+
dropdown = Selenium::WebDriver::Support::Select.new self
|
21
|
+
dropdown.select_by(key, value)
|
22
|
+
end
|
23
|
+
|
24
|
+
def hover
|
25
|
+
# Using actions to move the mouse over an element
|
26
|
+
DriverHelper.driver.action.move_to(self).perform
|
27
|
+
end
|
28
|
+
|
29
|
+
# How to perform right click through the context click method
|
30
|
+
def right_click
|
31
|
+
DriverHelper.driver.action.context_click(self).perform
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Here we are opening the selenium class and adding our custom method
|
36
|
+
class Selenium::WebDriver::Element
|
37
|
+
include SeleniumHelper
|
38
|
+
end
|
39
|
+
end
|
40
|
+
EOF
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require_relative '../template'
|
2
|
+
|
3
|
+
class SpecHelperTemplate < Template
|
4
|
+
def body
|
5
|
+
<<~EOF
|
6
|
+
require 'active_support/all'
|
7
|
+
require 'rspec'
|
8
|
+
require_relative 'allure_helper'
|
9
|
+
require_relative '#{@automation == 'watir' ? 'browser_helper' : 'driver_helper'}'
|
10
|
+
|
11
|
+
module Raider
|
12
|
+
module SpecHelper
|
13
|
+
|
14
|
+
AllureHelper.configure
|
15
|
+
|
16
|
+
RSpec.configure do |config|
|
17
|
+
config.formatter = AllureHelper.formatter
|
18
|
+
config.before(:each) do
|
19
|
+
#{@automation == 'watir' ? 'BrowserHelper.new_browser' : 'DriverHelper.new_driver'}
|
20
|
+
end
|
21
|
+
|
22
|
+
config.after(:each) do
|
23
|
+
#{@automation == 'watir' ? 'browser = BrowserHelper.browser' : 'driver = DriverHelper.driver'}
|
24
|
+
example_name = self.class.descendant_filtered_examples.first.description
|
25
|
+
status = self.class.descendant_filtered_examples.first.execution_result.status
|
26
|
+
#{@automation == 'watir' ? 'browser' : 'driver'}.save_screenshot("allure-results/screenshots/#\{example_name}.png") if status == :failed
|
27
|
+
AllureHelper.add_screenshot example_name if status == :failed
|
28
|
+
#{@automation == 'watir' ? 'browser.quit' : 'driver.quit'}
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
EOF
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative '../template'
|
2
|
+
|
3
|
+
class WatirHelperTemplate < Template
|
4
|
+
def body
|
5
|
+
<<~EOF
|
6
|
+
require 'watir'
|
7
|
+
|
8
|
+
module Raider
|
9
|
+
module WatirHelper
|
10
|
+
refine Watir::Element do
|
11
|
+
def click_when_present
|
12
|
+
wait_until_present
|
13
|
+
self.click
|
14
|
+
end
|
15
|
+
|
16
|
+
def wait_until_present
|
17
|
+
self.wait_until(&:present?)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
EOF
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require_relative '../template'
|
2
|
+
|
3
|
+
class ExampleSpecTemplate < Template
|
4
|
+
def body
|
5
|
+
<<~EOF
|
6
|
+
require_relative 'base_spec'
|
7
|
+
require_relative '../page_objects/pages/login_page'
|
8
|
+
|
9
|
+
class LoginSpec < BaseSpec
|
10
|
+
context 'On the Login Page' do
|
11
|
+
|
12
|
+
before(:each) do
|
13
|
+
LoginPage.visit
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'A user can' do
|
17
|
+
it 'login with the right credentials', :JIRA_123 do
|
18
|
+
LoginPage.login('aguspe', '12341234')
|
19
|
+
expect(LoginPage.header.customer_name).to eq 'Welcome back Agustin'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe 'A user cannot' do
|
24
|
+
it 'login with the wrong credentials', :JIRA_123 do
|
25
|
+
LoginPage.login('aguspe', 'wrongPassword')
|
26
|
+
expect(LoginPage.header.customer_name).to be_empty
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
EOF
|
32
|
+
end
|
33
|
+
end
|
data/lib/ruby_raider.rb
CHANGED
@@ -5,7 +5,7 @@ require_relative 'generators/projects/rspec_project_generator'
|
|
5
5
|
|
6
6
|
module RubyRaider
|
7
7
|
extend self
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
def generate_project(project_name)
|
9
|
+
MenuGenerator.generate_choice_menu(project_name)
|
10
|
+
end
|
11
11
|
end
|
data/ruby_raider.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'ruby_raider'
|
3
|
-
s.version = '0.1.
|
3
|
+
s.version = '0.1.7'
|
4
4
|
s.summary = 'A gem to make setup and start of UI automation projects easier'
|
5
5
|
s.description = 'This gem contents everything you need to start doing web automation in one simple package'
|
6
6
|
s.authors = ['Agustin Pequeno']
|
@@ -12,7 +12,8 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.files = `git ls-files -z`.split("\x0")
|
13
13
|
s.bindir = 'bin'
|
14
14
|
s.executables << 'raider'
|
15
|
-
s.add_development_dependency '
|
15
|
+
s.add_development_dependency 'rake', '~> 13.0.6'
|
16
|
+
s.add_development_dependency 'rspec', '~> 3.11.0'
|
16
17
|
|
17
|
-
s.add_runtime_dependency 'highline'
|
18
|
+
s.add_runtime_dependency 'highline', '~> 2.0.3'
|
18
19
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require_relative '../lib/generators/files/automation_file_generator'
|
2
|
+
require_relative 'spec_helper'
|
3
|
+
|
4
|
+
describe RubyRaider::AutomationFileGenerator do
|
5
|
+
before(:all) do
|
6
|
+
@name = 'Rspec-watir-1'
|
7
|
+
RubyRaider::RspecProjectGenerator.generate_rspec_project(@name, automation: 'watir')
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'creates a login page file' do
|
11
|
+
expect(File.exist?("#{@name}/page_objects/pages/login_page.rb")).to be_truthy
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'creates an abstract page file' do
|
15
|
+
expect(File.exist?("#{@name}/page_objects/abstract/abstract_page.rb")).to be_truthy
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'creates an abstract component file' do
|
19
|
+
expect(File.exist?("#{@name}/page_objects/abstract/abstract_component.rb")).to be_truthy
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'creates a component file' do
|
23
|
+
expect(File.exist?("#{@name}/page_objects/components/header_component.rb")).to be_truthy
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'creates a gemfile file' do
|
27
|
+
expect(File.exist?("#{@name}/Gemfile")).to be_truthy
|
28
|
+
end
|
29
|
+
|
30
|
+
after(:all) do
|
31
|
+
FileUtils.rm_rf(@name)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
@@ -2,16 +2,25 @@ require_relative '../lib/generators/files/common_file_generator'
|
|
2
2
|
require_relative 'spec_helper'
|
3
3
|
|
4
4
|
describe RubyRaider::CommonFileGenerator do
|
5
|
+
before(:all) do
|
6
|
+
@name = 'Cucumber-watir-1'
|
7
|
+
RubyRaider::CucumberProjectGenerator.generate_cucumber_project(@name, automation: 'watir')
|
8
|
+
end
|
9
|
+
|
5
10
|
it 'creates a config file' do
|
6
|
-
expect(File.exist?("#{@
|
11
|
+
expect(File.exist?("#{@name}/config/config.yml")).to be_truthy
|
7
12
|
end
|
8
13
|
|
9
14
|
it 'creates a rake file' do
|
10
|
-
expect(File.exist?("#{@
|
15
|
+
expect(File.exist?("#{@name}/Rakefile")).to be_truthy
|
11
16
|
end
|
12
17
|
|
13
18
|
it 'creates a readMe file' do
|
14
|
-
expect(File.exist?("#{@
|
19
|
+
expect(File.exist?("#{@name}/Readme.md")).to be_truthy
|
20
|
+
end
|
21
|
+
|
22
|
+
after(:all) do
|
23
|
+
FileUtils.rm_rf(@name)
|
15
24
|
end
|
16
25
|
end
|
17
26
|
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require_relative '../lib/generators/files/rspec_file_generator'
|
2
|
+
require_relative 'spec_helper'
|
3
|
+
|
4
|
+
describe RubyRaider::RspecFileGenerator do
|
5
|
+
before(:all) do
|
6
|
+
@name = 'Cucumber-watir-2'
|
7
|
+
RubyRaider::CucumberProjectGenerator.generate_cucumber_project(@name, automation: 'watir')
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'creates a feature file' do
|
11
|
+
expect(File.exist?("#{@name}/features/login.feature")).to be_truthy
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'creates a step definitions file' do
|
15
|
+
expect(File.exist?("#{@name}/features/step_definitions/login_steps.rb")).to be_truthy
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'creates an env file' do
|
19
|
+
expect(File.exist?("#{@name}/features/support/env.rb")).to be_truthy
|
20
|
+
end
|
21
|
+
|
22
|
+
after(:all) do
|
23
|
+
FileUtils.rm_rf(@name)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
describe RubyRaider::CucumberProjectGenerator do
|
4
|
+
before(:all) do
|
5
|
+
@name = 'Cucumber'
|
6
|
+
RubyRaider::CucumberProjectGenerator.generate_cucumber_project(@name, automation: 'selenium')
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'creates a project folder' do
|
10
|
+
expect(Dir.exist?(@name)).to be_truthy
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'creates a features folder' do
|
14
|
+
expect(Dir.exist?("#{@name}/features")).to be_truthy
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'creates a config folder' do
|
18
|
+
expect(Dir.exist?("#{@name}/config")).to be_truthy
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'creates a page_objects object folder' do
|
22
|
+
expect(Dir.exist?("#{@name}/page_objects")).to be_truthy
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'creates an allure results folder' do
|
26
|
+
expect(Dir.exist?("#{@name}/allure-results")).to be_truthy
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'creates a step definitions folder' do
|
30
|
+
expect(Dir.exist?("#{@name}/features/step_definitions")).to be_truthy
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'creates a support folder' do
|
34
|
+
expect(Dir.exist?("#{@name}/features/support")).to be_truthy
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'creates a helpers folder' do
|
38
|
+
expect(Dir.exist?("#{@name}/features/support/helpers")).to be_truthy
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'creates an abstract folder' do
|
42
|
+
expect(Dir.exist?("#{@name}/page_objects/abstract")).to be_truthy
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'creates a pages folder' do
|
46
|
+
expect(Dir.exist?("#{@name}/page_objects/pages")).to be_truthy
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'creates a components folder' do
|
50
|
+
expect(Dir.exist?("#{@name}/page_objects/components")).to be_truthy
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'creates a screenshot folder' do
|
54
|
+
expect(Dir.exist?("#{@name}/allure-results/screenshots")).to be_truthy
|
55
|
+
end
|
56
|
+
|
57
|
+
after(:all) do
|
58
|
+
FileUtils.rm_rf(@name)
|
59
|
+
end
|
60
|
+
end
|
@@ -2,28 +2,70 @@ require_relative '../lib/generators/files/helpers_file_generator'
|
|
2
2
|
require_relative 'spec_helper'
|
3
3
|
|
4
4
|
describe RubyRaider::HelpersFileGenerator do
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
context 'When the users selects rspec' do
|
6
|
+
before(:all) do
|
7
|
+
@name = 'Rspec-watir-2'
|
8
|
+
RubyRaider::RspecProjectGenerator.generate_rspec_project(@name, automation: 'selenium')
|
9
|
+
end
|
8
10
|
|
9
|
-
|
10
|
-
|
11
|
-
|
11
|
+
it 'creates a raider file' do
|
12
|
+
expect(File.exist?("#{@name}/helpers/raider.rb")).to be_truthy
|
13
|
+
end
|
12
14
|
|
13
|
-
|
14
|
-
|
15
|
-
|
15
|
+
it 'creates an allure helper file' do
|
16
|
+
expect(File.exist?("#{@name}/helpers/allure_helper.rb")).to be_truthy
|
17
|
+
end
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
-
|
19
|
+
it 'creates a driver helper file', :watir do
|
20
|
+
expect(File.exist?("#{@name}/helpers/driver_helper.rb")).to be_truthy
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'creates a pom helper file' do
|
24
|
+
expect(File.exist?("#{@name}/helpers/pom_helper.rb")).to be_truthy
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'creates a spec helper file' do
|
28
|
+
expect(File.exist?("#{@name}/helpers/spec_helper.rb")).to be_truthy
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'creates a watir helper file' do
|
32
|
+
expect(File.exist?("#{@name}/helpers/allure_helper.rb")).to be_truthy
|
33
|
+
end
|
20
34
|
|
21
|
-
|
22
|
-
|
35
|
+
after(:all) do
|
36
|
+
FileUtils.rm_rf(@name)
|
37
|
+
end
|
23
38
|
end
|
24
39
|
|
25
|
-
|
26
|
-
|
40
|
+
context 'when the user selects cucumber' do
|
41
|
+
before(:all) do
|
42
|
+
@name = 'Cucumber-watir-3'
|
43
|
+
RubyRaider::CucumberProjectGenerator.generate_cucumber_project(@name, automation: 'watir')
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'creates a raider file' do
|
47
|
+
expect(File.exist?("#{@name}/features/support/helpers/raider.rb")).to be_truthy
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'creates an allure helper file' do
|
51
|
+
expect(File.exist?("#{@name}/features/support/helpers/allure_helper.rb")).to be_truthy
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'creates a browser helper file', :watir do
|
55
|
+
expect(File.exist?("#{@name}/features/support/helpers/browser_helper.rb")).to be_truthy
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'creates a pom helper file' do
|
59
|
+
expect(File.exist?("#{@name}/features/support/helpers/pom_helper.rb")).to be_truthy
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'creates a watir helper file' do
|
63
|
+
expect(File.exist?("#{@name}/features/support/helpers/allure_helper.rb")).to be_truthy
|
64
|
+
end
|
65
|
+
|
66
|
+
after(:all) do
|
67
|
+
FileUtils.rm_rf(@name)
|
68
|
+
end
|
27
69
|
end
|
28
70
|
end
|
29
71
|
|
@@ -2,11 +2,20 @@ require_relative '../lib/generators/files/rspec_file_generator'
|
|
2
2
|
require_relative 'spec_helper'
|
3
3
|
|
4
4
|
describe RubyRaider::RspecFileGenerator do
|
5
|
+
before(:all) do
|
6
|
+
@name = 'Rspec-watir-3'
|
7
|
+
RubyRaider::RspecProjectGenerator.generate_rspec_project(@name, automation: 'watir')
|
8
|
+
end
|
9
|
+
|
5
10
|
it 'creates a spec file' do
|
6
|
-
expect(File.exist?("#{@
|
11
|
+
expect(File.exist?("#{@name}/spec/login_page_spec.rb")).to be_truthy
|
7
12
|
end
|
8
13
|
|
9
14
|
it 'creates the base spec file' do
|
10
|
-
expect(File.exist?("#{@
|
15
|
+
expect(File.exist?("#{@name}/spec/base_spec.rb")).to be_truthy
|
16
|
+
end
|
17
|
+
|
18
|
+
after(:all) do
|
19
|
+
FileUtils.rm_rf(@name)
|
11
20
|
end
|
12
21
|
end
|
@@ -1,39 +1,48 @@
|
|
1
1
|
require_relative 'spec_helper'
|
2
2
|
|
3
3
|
describe RubyRaider::RspecProjectGenerator do
|
4
|
+
before(:all) do
|
5
|
+
@name = 'Rspec'
|
6
|
+
RubyRaider::RspecProjectGenerator.generate_rspec_project(@name, automation: 'selenium')
|
7
|
+
end
|
8
|
+
|
4
9
|
it 'creates a project folder' do
|
5
|
-
expect(Dir.exist?(@
|
10
|
+
expect(Dir.exist?(@name)).to be_truthy
|
6
11
|
end
|
7
12
|
|
8
13
|
it 'creates a spec folder' do
|
9
|
-
expect(Dir.exist?("#{@
|
14
|
+
expect(Dir.exist?("#{@name}/spec")).to be_truthy
|
10
15
|
end
|
11
16
|
|
12
17
|
it 'creates a page objects folder' do
|
13
|
-
expect(Dir.exist?("#{@
|
18
|
+
expect(Dir.exist?("#{@name}/page_objects")).to be_truthy
|
14
19
|
end
|
15
20
|
|
16
21
|
it 'creates an abstract page object folder' do
|
17
|
-
expect(Dir.exist?("#{@
|
22
|
+
expect(Dir.exist?("#{@name}/page_objects/abstract")).to be_truthy
|
18
23
|
end
|
19
24
|
|
20
25
|
it 'creates a pages folder' do
|
21
|
-
expect(Dir.exist?("#{@
|
26
|
+
expect(Dir.exist?("#{@name}/page_objects/pages")).to be_truthy
|
22
27
|
end
|
23
28
|
|
24
29
|
it 'creates a components folder' do
|
25
|
-
expect(Dir.exist?("#{@
|
30
|
+
expect(Dir.exist?("#{@name}/page_objects/components")).to be_truthy
|
26
31
|
end
|
27
32
|
|
28
33
|
it 'creates a helper folder' do
|
29
|
-
expect(Dir.exist?("#{@
|
34
|
+
expect(Dir.exist?("#{@name}/helpers")).to be_truthy
|
30
35
|
end
|
31
36
|
|
32
37
|
it 'creates a data folder' do
|
33
|
-
expect(Dir.exist?("#{@
|
38
|
+
expect(Dir.exist?("#{@name}/data")).to be_truthy
|
34
39
|
end
|
35
40
|
|
36
41
|
it 'creates a config folder' do
|
37
|
-
expect(Dir.exist?("#{@
|
42
|
+
expect(Dir.exist?("#{@name}/config")).to be_truthy
|
43
|
+
end
|
44
|
+
|
45
|
+
after(:all) do
|
46
|
+
FileUtils.rm_rf(@name)
|
38
47
|
end
|
39
48
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,14 +1,4 @@
|
|
1
1
|
require_relative '../lib/generators/projects/rspec_project_generator'
|
2
|
+
require_relative '../lib/generators/projects/cucumber_project_generator'
|
2
3
|
require 'fileutils'
|
3
|
-
require 'rspec'
|
4
|
-
|
5
|
-
RSpec.configure do |config|
|
6
|
-
config.before(:all) do
|
7
|
-
@project_name = 'test'
|
8
|
-
RubyRaider::RspecProjectGenerator.generate_rspec_project @project_name
|
9
|
-
end
|
10
|
-
|
11
|
-
config.after(:all) do
|
12
|
-
FileUtils.rm_rf(@project_name)
|
13
|
-
end
|
14
|
-
end
|
4
|
+
require 'rspec'
|
metadata
CHANGED
@@ -1,43 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_raider
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Agustin Pequeno
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03
|
11
|
+
date: 2022-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 13.0.6
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 13.0.6
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rspec
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- - "
|
31
|
+
- - "~>"
|
18
32
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
33
|
+
version: 3.11.0
|
20
34
|
type: :development
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- - "
|
38
|
+
- - "~>"
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
40
|
+
version: 3.11.0
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: highline
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- - "
|
45
|
+
- - "~>"
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
47
|
+
version: 2.0.3
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- - "
|
52
|
+
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
54
|
+
version: 2.0.3
|
41
55
|
description: This gem contents everything you need to start doing web automation in
|
42
56
|
one simple package
|
43
57
|
email: agustin.pe94@gmail.com
|
@@ -47,29 +61,52 @@ extensions: []
|
|
47
61
|
extra_rdoc_files: []
|
48
62
|
files:
|
49
63
|
- ".gitignore"
|
64
|
+
- Gemfile
|
50
65
|
- README.md
|
51
66
|
- Rakefile
|
52
67
|
- bin/raider
|
68
|
+
- lib/generators/files/automation_file_generator.rb
|
53
69
|
- lib/generators/files/common_file_generator.rb
|
70
|
+
- lib/generators/files/cucumber_file_generator.rb
|
54
71
|
- lib/generators/files/file_generator.rb
|
55
72
|
- lib/generators/files/helpers_file_generator.rb
|
56
73
|
- lib/generators/files/rspec_file_generator.rb
|
57
|
-
- lib/generators/files/selenium_file_generator.rb
|
58
|
-
- lib/generators/files/watir_file_generator.rb
|
59
74
|
- lib/generators/menu_generator.rb
|
60
75
|
- lib/generators/projects/cucumber_project_generator.rb
|
61
76
|
- lib/generators/projects/project_generator.rb
|
62
77
|
- lib/generators/projects/rspec_project_generator.rb
|
78
|
+
- lib/generators/templates/automation/abstract_component_template.rb
|
79
|
+
- lib/generators/templates/automation/abstract_page_template.rb
|
80
|
+
- lib/generators/templates/automation/component_template.rb
|
81
|
+
- lib/generators/templates/automation/page_template.rb
|
82
|
+
- lib/generators/templates/common/config_template.rb
|
83
|
+
- lib/generators/templates/common/gemfile_template.rb
|
84
|
+
- lib/generators/templates/common/rake_file_template.rb
|
85
|
+
- lib/generators/templates/common/read_me_template.rb
|
86
|
+
- lib/generators/templates/cucumber/env_template.rb
|
87
|
+
- lib/generators/templates/cucumber/example_feature_template.rb
|
88
|
+
- lib/generators/templates/cucumber/example_steps_template.rb
|
89
|
+
- lib/generators/templates/helpers/allure_helper_template.rb
|
90
|
+
- lib/generators/templates/helpers/browser_helper_template.rb
|
91
|
+
- lib/generators/templates/helpers/driver_helper_template.rb
|
92
|
+
- lib/generators/templates/helpers/pom_helper_template.rb
|
93
|
+
- lib/generators/templates/helpers/raider_helper_template.rb
|
94
|
+
- lib/generators/templates/helpers/selenium_helper_template.rb
|
95
|
+
- lib/generators/templates/helpers/spec_helper_template.rb
|
96
|
+
- lib/generators/templates/helpers/watir_helper_template.rb
|
97
|
+
- lib/generators/templates/rspec/base_spec_template.rb
|
98
|
+
- lib/generators/templates/rspec/example_spec_template.rb
|
99
|
+
- lib/generators/templates/template.rb
|
63
100
|
- lib/ruby_raider.rb
|
64
101
|
- ruby_raider.gemspec
|
102
|
+
- spec/automation_file_generator_spec.rb
|
65
103
|
- spec/common_file_generator_spec.rb
|
104
|
+
- spec/cucumber_file_generator_spec.rb
|
105
|
+
- spec/cucumber_project_generator_spec.rb
|
66
106
|
- spec/helpers_file_generator_spec.rb
|
67
|
-
- spec/menu_generator_spec.rb
|
68
107
|
- spec/rspec_file_generator_spec.rb
|
69
108
|
- spec/rspec_project_generator_spec.rb
|
70
|
-
- spec/selenium_file_generator_spec.rb
|
71
109
|
- spec/spec_helper.rb
|
72
|
-
- spec/watir_file_generator_spec.rb
|
73
110
|
homepage: http://github.com/aguspe/ruby_raider
|
74
111
|
licenses:
|
75
112
|
- MIT
|