ruby_raider 0.5.6 → 0.5.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/.github/FUNDING.yml +13 -0
- data/Rakefile +12 -0
- data/lib/desktop/base_screen.rb +5 -0
- data/lib/desktop/installation_screen.rb +137 -0
- data/lib/desktop/runner_screen.rb +123 -0
- data/lib/generators/automation/automation_examples_generator.rb +36 -0
- data/lib/generators/automation/automation_generator.rb +28 -0
- data/lib/generators/cucumber/cucumber_examples_generator.rb +17 -0
- data/lib/generators/cucumber/cucumber_generator.rb +13 -0
- data/lib/generators/generator.rb +2 -2
- data/lib/generators/invoke_generators.rb +47 -0
- data/lib/generators/menu_generator.rb +24 -27
- data/lib/generators/rspec/rspec_examples_generator.rb +17 -0
- data/lib/generators/rspec/rspec_generator.rb +9 -0
- data/lib/ruby_raider.rb +7 -0
- data/ruby_raider.gemspec +2 -1
- data/spec/automation_generator_spec.rb +71 -15
- data/spec/cucumber_generator_spec.rb +29 -1
- data/spec/rspec_generator_spec.rb +21 -1
- data/spec/spec_helper.rb +20 -5
- metadata +63 -41
- data/lib/generators/automation_generator.rb +0 -59
- data/lib/generators/cucumber_generator.rb +0 -25
- data/lib/generators/rspec_generator.rb +0 -21
- /data/lib/generators/{templates/automation → automation/templates}/abstract_component.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/abstract_page.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/app_page.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/appium_caps.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/component.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/home_page.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/login_page.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/android_caps.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/cross_platform_caps.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/element.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/home_page_selector.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/initialize_selector.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/ios_caps.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/pdp_page_selector.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/require_raider.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/selenium_login.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/url_methods.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/visit_method.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/visual_login.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/partials/watir_login.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/pdp_page.tt +0 -0
- /data/lib/generators/{templates/automation → automation/templates}/visual_options.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/env.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/feature.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/appium_env.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/driver_world.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/mobile_steps.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/selenium_appium_env.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/watir_env.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/watir_world.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/partials/web_steps.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/steps.tt +0 -0
- /data/lib/generators/{templates/cucumber → cucumber/templates}/world.tt +0 -0
- /data/lib/generators/{templates/rspec → rspec/templates}/base_spec.tt +0 -0
- /data/lib/generators/{templates/rspec → rspec/templates}/spec.tt +0 -0
@@ -1,10 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../lib/generators/automation_generator'
|
3
|
+
require_relative '../lib/generators/automation/automation_generator'
|
4
4
|
require_relative 'spec_helper'
|
5
5
|
|
6
6
|
describe AutomationGenerator do
|
7
|
-
shared_examples 'creates web automation files' do |name|
|
7
|
+
shared_examples 'creates web automation framework with example files' do |name|
|
8
8
|
it 'creates a login page file' do
|
9
9
|
expect(File).to exist("#{name}/page_objects/pages/login_page.rb")
|
10
10
|
end
|
@@ -22,7 +22,25 @@ describe AutomationGenerator do
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
shared_examples 'creates
|
25
|
+
shared_examples 'creates web automation framework without example files' do |name|
|
26
|
+
it 'creates an abstract page file' do
|
27
|
+
expect(File).to exist("#{name}/page_objects/abstract/abstract_page.rb")
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'creates an abstract component file' do
|
31
|
+
expect(File).to exist("#{name}/page_objects/abstract/abstract_component.rb")
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'creates a login page file' do
|
35
|
+
expect(File).not_to exist("#{name}/page_objects/pages/login_page.rb")
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'creates a component file' do
|
39
|
+
expect(File).not_to exist("#{name}/page_objects/components/header_component.rb")
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
shared_examples 'creates mobile automation framework with example files' do |name|
|
26
44
|
it 'creates a home page file' do
|
27
45
|
expect(File).to exist("#{name}/page_objects/pages/home_page.rb")
|
28
46
|
end
|
@@ -36,7 +54,21 @@ describe AutomationGenerator do
|
|
36
54
|
end
|
37
55
|
end
|
38
56
|
|
39
|
-
shared_examples 'creates
|
57
|
+
shared_examples 'creates mobile automation framework without example files' do |name|
|
58
|
+
it 'creates an abstract page file' do
|
59
|
+
expect(File).to exist("#{name}/page_objects/abstract/abstract_page.rb")
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'creates a home page file' do
|
63
|
+
expect(File).not_to exist("#{name}/page_objects/pages/home_page.rb")
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'creates a pdp page file' do
|
67
|
+
expect(File).not_to exist("#{name}/page_objects/pages/pdp_page.rb")
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
shared_examples 'creates web visual framework with example files' do |name|
|
40
72
|
it 'creates a login page file' do
|
41
73
|
expect(File).to exist("#{name}/page_objects/pages/login_page.rb")
|
42
74
|
end
|
@@ -50,41 +82,65 @@ describe AutomationGenerator do
|
|
50
82
|
end
|
51
83
|
end
|
52
84
|
|
85
|
+
shared_examples 'creates web visual framework without example files' do |name|
|
86
|
+
it 'creates an abstract page file' do
|
87
|
+
expect(File).to exist("#{name}/page_objects/abstract/abstract_page.rb")
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
53
91
|
context 'with rspec and selenium' do
|
54
|
-
include_examples 'creates web automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}"
|
55
|
-
include_examples 'creates web
|
92
|
+
include_examples 'creates web automation framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}"
|
93
|
+
include_examples 'creates web automation framework without example files',
|
94
|
+
"#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}_without_examples"
|
95
|
+
include_examples 'creates web visual framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}_visual"
|
56
96
|
end
|
57
97
|
|
58
98
|
context 'with rspec and watir' do
|
59
|
-
include_examples 'creates web automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}"
|
60
|
-
include_examples 'creates web
|
99
|
+
include_examples 'creates web automation framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}"
|
100
|
+
include_examples 'creates web automation framework without example files',
|
101
|
+
"#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}_without_examples"
|
102
|
+
include_examples 'creates web visual framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}_visual"
|
61
103
|
end
|
62
104
|
|
63
105
|
context 'with cucumber and selenium' do
|
64
|
-
include_examples 'creates web automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}"
|
106
|
+
include_examples 'creates web automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}"
|
107
|
+
include_examples 'creates web automation framework without example files',
|
108
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}_without_examples"
|
65
109
|
end
|
66
110
|
|
67
111
|
context 'with cucumber and watir' do
|
68
|
-
include_examples 'creates web automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}"
|
112
|
+
include_examples 'creates web automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}"
|
113
|
+
include_examples 'creates web automation framework without example files',
|
114
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}_without_examples"
|
69
115
|
end
|
70
116
|
|
71
117
|
context 'with rspec and appium android' do
|
72
|
-
include_examples 'creates mobile automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}"
|
118
|
+
include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}"
|
119
|
+
include_examples 'creates mobile automation framework without example files',
|
120
|
+
"#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}_without_examples"
|
73
121
|
end
|
74
122
|
|
75
123
|
context 'with rspec and appium ios' do
|
76
|
-
include_examples 'creates mobile automation files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}"
|
124
|
+
include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}"
|
125
|
+
include_examples 'creates mobile automation framework without example files',
|
126
|
+
"#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}_without_examples"
|
77
127
|
end
|
78
128
|
|
79
129
|
context 'with cucumber and appium android' do
|
80
|
-
include_examples 'creates mobile automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}"
|
130
|
+
include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}"
|
131
|
+
include_examples 'creates mobile automation framework without example files',
|
132
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}_without_examples"
|
81
133
|
end
|
82
134
|
|
83
135
|
context 'with cucumber and appium ios' do
|
84
|
-
include_examples 'creates mobile automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}"
|
136
|
+
include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}"
|
137
|
+
include_examples 'creates mobile automation framework without example files',
|
138
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}_without_examples"
|
85
139
|
end
|
86
140
|
|
87
141
|
context 'with cucumber and appium cross platform' do
|
88
|
-
include_examples 'creates mobile automation files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}"
|
142
|
+
include_examples 'creates mobile automation framework with example files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}"
|
143
|
+
include_examples 'creates mobile automation framework without example files',
|
144
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}_without_examples"
|
89
145
|
end
|
90
146
|
end
|
@@ -1,9 +1,27 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../lib/generators/cucumber_generator'
|
3
|
+
require_relative '../lib/generators/cucumber/cucumber_generator'
|
4
4
|
require_relative 'spec_helper'
|
5
5
|
|
6
6
|
describe CucumberGenerator do
|
7
|
+
shared_examples 'creates cucumber files without examples' do |project_name, file_name|
|
8
|
+
it 'creates a feature file' do
|
9
|
+
expect(File).not_to exist("#{project_name}/features/#{file_name}.feature")
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'creates a step definitions file' do
|
13
|
+
expect(File).not_to exist("#{project_name}/features/step_definitions/#{file_name}_steps.rb")
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'creates an env file' do
|
17
|
+
expect(File).to exist("#{project_name}/features/support/env.rb")
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'does not create a spec file' do
|
21
|
+
expect(File).not_to exist("#{project_name}/spec/home_spec.rb")
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
7
25
|
shared_examples 'creates cucumber files' do |project_name, file_name|
|
8
26
|
it 'creates a feature file' do
|
9
27
|
expect(File).to exist("#{project_name}/features/#{file_name}.feature")
|
@@ -24,21 +42,31 @@ describe CucumberGenerator do
|
|
24
42
|
|
25
43
|
context 'with cucumber and appium android' do
|
26
44
|
include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}", 'home'
|
45
|
+
include_examples 'creates cucumber files without examples',
|
46
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.first}_without_examples", 'home'
|
27
47
|
end
|
28
48
|
|
29
49
|
context 'with cucumber and appium ios' do
|
30
50
|
include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}", 'home'
|
51
|
+
include_examples 'creates cucumber files without examples',
|
52
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[1]}_without_examples", 'home'
|
31
53
|
end
|
32
54
|
|
33
55
|
context 'with cucumber and appium cross platform' do
|
34
56
|
include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}", 'home'
|
57
|
+
include_examples 'creates cucumber files without examples',
|
58
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES.last}_without_examples", 'home'
|
35
59
|
end
|
36
60
|
|
37
61
|
context 'with cucumber and selenium' do
|
38
62
|
include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}", 'login'
|
63
|
+
include_examples 'creates cucumber files without examples',
|
64
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[2]}_without_examples", 'login'
|
39
65
|
end
|
40
66
|
|
41
67
|
context 'with cucumber and watir' do
|
42
68
|
include_examples 'creates cucumber files', "#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}", 'login'
|
69
|
+
include_examples 'creates cucumber files without examples',
|
70
|
+
"#{FRAMEWORKS.first}_#{AUTOMATION_TYPES[3]}_without_examples", 'login'
|
43
71
|
end
|
44
72
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../lib/generators/rspec_generator'
|
3
|
+
require_relative '../lib/generators/rspec/rspec_generator'
|
4
4
|
require_relative 'spec_helper'
|
5
5
|
|
6
6
|
describe RspecGenerator do
|
@@ -14,23 +14,43 @@ describe RspecGenerator do
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
+
shared_examples 'creates rspec files without examples' do |project_name, file_name|
|
18
|
+
it 'creates a spec file' do
|
19
|
+
expect(File).not_to exist("#{project_name}/spec/#{file_name}_page_spec.rb")
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'creates the base spec file' do
|
23
|
+
expect(File).to exist("#{project_name}/spec/base_spec.rb")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
17
27
|
context 'with rspec and selenium' do
|
18
28
|
include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}", 'login'
|
29
|
+
include_examples 'creates rspec files without examples',
|
30
|
+
"#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[2]}_without_examples", 'login'
|
19
31
|
end
|
20
32
|
|
21
33
|
context 'with rspec and watir' do
|
22
34
|
include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}", 'login'
|
35
|
+
include_examples 'creates rspec files without examples',
|
36
|
+
"#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[3]}_without_examples", 'login'
|
23
37
|
end
|
24
38
|
|
25
39
|
context 'with rspec and appium android' do
|
26
40
|
include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}", 'pdp'
|
41
|
+
include_examples 'creates rspec files without examples',
|
42
|
+
"#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.first}_without_examples", 'pdp'
|
27
43
|
end
|
28
44
|
|
29
45
|
context 'with rspec and appium ios' do
|
30
46
|
include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}", 'pdp'
|
47
|
+
include_examples 'creates rspec files without examples',
|
48
|
+
"#{FRAMEWORKS.last}_#{AUTOMATION_TYPES[1]}_without_examples", 'pdp'
|
31
49
|
end
|
32
50
|
|
33
51
|
context 'with rspec and appium cross platform' do
|
34
52
|
include_examples 'creates rspec files', "#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.last}", 'pdp'
|
53
|
+
include_examples 'creates rspec files without examples',
|
54
|
+
"#{FRAMEWORKS.last}_#{AUTOMATION_TYPES.last}_without_examples", 'pdp'
|
35
55
|
end
|
36
56
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -2,17 +2,30 @@
|
|
2
2
|
|
3
3
|
require 'fileutils'
|
4
4
|
require 'rspec'
|
5
|
-
require_relative '../lib/generators/
|
5
|
+
require_relative '../lib/generators/invoke_generators'
|
6
6
|
|
7
7
|
AUTOMATION_TYPES = %w[android ios selenium watir cross_platform].freeze
|
8
8
|
FRAMEWORKS = %w[cucumber rspec].freeze
|
9
9
|
|
10
|
+
def create_settings(framework, automation, examples, visual)
|
11
|
+
{
|
12
|
+
automation: automation,
|
13
|
+
examples: examples,
|
14
|
+
framework: framework,
|
15
|
+
name: "#{framework}_#{automation}#{'_visual' if visual}#{'_without_examples' unless examples}",
|
16
|
+
visual: visual
|
17
|
+
}
|
18
|
+
end
|
19
|
+
|
10
20
|
RSpec.configure do |config|
|
21
|
+
config.include(InvokeGenerators)
|
11
22
|
config.before(:all) do
|
12
23
|
FRAMEWORKS.each do |framework|
|
13
24
|
AUTOMATION_TYPES.each do |automation|
|
14
|
-
|
15
|
-
|
25
|
+
[true, false].product([true, false]) do |examples, visual|
|
26
|
+
settings = create_settings(framework, automation, examples, visual)
|
27
|
+
generate_framework(settings)
|
28
|
+
end
|
16
29
|
end
|
17
30
|
end
|
18
31
|
end
|
@@ -20,8 +33,10 @@ RSpec.configure do |config|
|
|
20
33
|
config.after(:all) do
|
21
34
|
FRAMEWORKS.each do |framework|
|
22
35
|
AUTOMATION_TYPES.each do |automation|
|
23
|
-
|
24
|
-
|
36
|
+
[true, false].product([true, false]) do |examples, visual|
|
37
|
+
settings = create_settings(framework, automation, examples, visual)
|
38
|
+
FileUtils.rm_rf(settings[:name])
|
39
|
+
end
|
25
40
|
end
|
26
41
|
end
|
27
42
|
end
|
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.5.
|
4
|
+
version: 0.5.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: 2023-
|
11
|
+
date: 2023-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dotenv
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '2.7'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: glimmer-dsl-libui
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.7.3
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.7.3
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: ruby-openai
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,6 +185,7 @@ executables:
|
|
171
185
|
extensions: []
|
172
186
|
extra_rdoc_files: []
|
173
187
|
files:
|
188
|
+
- ".github/FUNDING.yml"
|
174
189
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
175
190
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
176
191
|
- ".github/workflows/reek.yml"
|
@@ -189,35 +204,55 @@ files:
|
|
189
204
|
- lib/commands/open_ai_commands.rb
|
190
205
|
- lib/commands/scaffolding_commands.rb
|
191
206
|
- lib/commands/utility_commands.rb
|
192
|
-
- lib/
|
207
|
+
- lib/desktop/base_screen.rb
|
208
|
+
- lib/desktop/installation_screen.rb
|
209
|
+
- lib/desktop/runner_screen.rb
|
210
|
+
- lib/generators/automation/automation_examples_generator.rb
|
211
|
+
- lib/generators/automation/automation_generator.rb
|
212
|
+
- lib/generators/automation/templates/abstract_component.tt
|
213
|
+
- lib/generators/automation/templates/abstract_page.tt
|
214
|
+
- lib/generators/automation/templates/app_page.tt
|
215
|
+
- lib/generators/automation/templates/appium_caps.tt
|
216
|
+
- lib/generators/automation/templates/component.tt
|
217
|
+
- lib/generators/automation/templates/home_page.tt
|
218
|
+
- lib/generators/automation/templates/login_page.tt
|
219
|
+
- lib/generators/automation/templates/partials/android_caps.tt
|
220
|
+
- lib/generators/automation/templates/partials/cross_platform_caps.tt
|
221
|
+
- lib/generators/automation/templates/partials/element.tt
|
222
|
+
- lib/generators/automation/templates/partials/home_page_selector.tt
|
223
|
+
- lib/generators/automation/templates/partials/initialize_selector.tt
|
224
|
+
- lib/generators/automation/templates/partials/ios_caps.tt
|
225
|
+
- lib/generators/automation/templates/partials/pdp_page_selector.tt
|
226
|
+
- lib/generators/automation/templates/partials/require_raider.tt
|
227
|
+
- lib/generators/automation/templates/partials/selenium_login.tt
|
228
|
+
- lib/generators/automation/templates/partials/url_methods.tt
|
229
|
+
- lib/generators/automation/templates/partials/visit_method.tt
|
230
|
+
- lib/generators/automation/templates/partials/visual_login.tt
|
231
|
+
- lib/generators/automation/templates/partials/watir_login.tt
|
232
|
+
- lib/generators/automation/templates/pdp_page.tt
|
233
|
+
- lib/generators/automation/templates/visual_options.tt
|
193
234
|
- lib/generators/common_generator.rb
|
194
|
-
- lib/generators/
|
235
|
+
- lib/generators/cucumber/cucumber_examples_generator.rb
|
236
|
+
- lib/generators/cucumber/cucumber_generator.rb
|
237
|
+
- lib/generators/cucumber/templates/env.tt
|
238
|
+
- lib/generators/cucumber/templates/feature.tt
|
239
|
+
- lib/generators/cucumber/templates/partials/appium_env.tt
|
240
|
+
- lib/generators/cucumber/templates/partials/driver_world.tt
|
241
|
+
- lib/generators/cucumber/templates/partials/mobile_steps.tt
|
242
|
+
- lib/generators/cucumber/templates/partials/selenium_appium_env.tt
|
243
|
+
- lib/generators/cucumber/templates/partials/watir_env.tt
|
244
|
+
- lib/generators/cucumber/templates/partials/watir_world.tt
|
245
|
+
- lib/generators/cucumber/templates/partials/web_steps.tt
|
246
|
+
- lib/generators/cucumber/templates/steps.tt
|
247
|
+
- lib/generators/cucumber/templates/world.tt
|
195
248
|
- lib/generators/generator.rb
|
196
249
|
- lib/generators/helper_generator.rb
|
250
|
+
- lib/generators/invoke_generators.rb
|
197
251
|
- lib/generators/menu_generator.rb
|
198
|
-
- lib/generators/
|
199
|
-
- lib/generators/
|
200
|
-
- lib/generators/templates/
|
201
|
-
- lib/generators/templates/
|
202
|
-
- lib/generators/templates/automation/appium_caps.tt
|
203
|
-
- lib/generators/templates/automation/component.tt
|
204
|
-
- lib/generators/templates/automation/home_page.tt
|
205
|
-
- lib/generators/templates/automation/login_page.tt
|
206
|
-
- lib/generators/templates/automation/partials/android_caps.tt
|
207
|
-
- lib/generators/templates/automation/partials/cross_platform_caps.tt
|
208
|
-
- lib/generators/templates/automation/partials/element.tt
|
209
|
-
- lib/generators/templates/automation/partials/home_page_selector.tt
|
210
|
-
- lib/generators/templates/automation/partials/initialize_selector.tt
|
211
|
-
- lib/generators/templates/automation/partials/ios_caps.tt
|
212
|
-
- lib/generators/templates/automation/partials/pdp_page_selector.tt
|
213
|
-
- lib/generators/templates/automation/partials/require_raider.tt
|
214
|
-
- lib/generators/templates/automation/partials/selenium_login.tt
|
215
|
-
- lib/generators/templates/automation/partials/url_methods.tt
|
216
|
-
- lib/generators/templates/automation/partials/visit_method.tt
|
217
|
-
- lib/generators/templates/automation/partials/visual_login.tt
|
218
|
-
- lib/generators/templates/automation/partials/watir_login.tt
|
219
|
-
- lib/generators/templates/automation/pdp_page.tt
|
220
|
-
- lib/generators/templates/automation/visual_options.tt
|
252
|
+
- lib/generators/rspec/rspec_examples_generator.rb
|
253
|
+
- lib/generators/rspec/rspec_generator.rb
|
254
|
+
- lib/generators/rspec/templates/base_spec.tt
|
255
|
+
- lib/generators/rspec/templates/spec.tt
|
221
256
|
- lib/generators/templates/common/config.tt
|
222
257
|
- lib/generators/templates/common/gemfile.tt
|
223
258
|
- lib/generators/templates/common/partials/automation_gems.tt
|
@@ -225,17 +260,6 @@ files:
|
|
225
260
|
- lib/generators/templates/common/partials/web_config.tt
|
226
261
|
- lib/generators/templates/common/rakefile.tt
|
227
262
|
- lib/generators/templates/common/read_me.tt
|
228
|
-
- lib/generators/templates/cucumber/env.tt
|
229
|
-
- lib/generators/templates/cucumber/feature.tt
|
230
|
-
- lib/generators/templates/cucumber/partials/appium_env.tt
|
231
|
-
- lib/generators/templates/cucumber/partials/driver_world.tt
|
232
|
-
- lib/generators/templates/cucumber/partials/mobile_steps.tt
|
233
|
-
- lib/generators/templates/cucumber/partials/selenium_appium_env.tt
|
234
|
-
- lib/generators/templates/cucumber/partials/watir_env.tt
|
235
|
-
- lib/generators/templates/cucumber/partials/watir_world.tt
|
236
|
-
- lib/generators/templates/cucumber/partials/web_steps.tt
|
237
|
-
- lib/generators/templates/cucumber/steps.tt
|
238
|
-
- lib/generators/templates/cucumber/world.tt
|
239
263
|
- lib/generators/templates/helpers/allure_helper.tt
|
240
264
|
- lib/generators/templates/helpers/appium_helper.tt
|
241
265
|
- lib/generators/templates/helpers/browser_helper.tt
|
@@ -252,8 +276,6 @@ files:
|
|
252
276
|
- lib/generators/templates/helpers/spec_helper.tt
|
253
277
|
- lib/generators/templates/helpers/visual_helper.tt
|
254
278
|
- lib/generators/templates/helpers/visual_spec_helper.tt
|
255
|
-
- lib/generators/templates/rspec/base_spec.tt
|
256
|
-
- lib/generators/templates/rspec/spec.tt
|
257
279
|
- lib/open_ai/open_ai.rb
|
258
280
|
- lib/ruby_raider.rb
|
259
281
|
- lib/scaffolding/scaffolding.rb
|
@@ -291,7 +313,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
291
313
|
- !ruby/object:Gem::Version
|
292
314
|
version: '0'
|
293
315
|
requirements: []
|
294
|
-
rubygems_version: 3.
|
316
|
+
rubygems_version: 3.4.8
|
295
317
|
signing_key:
|
296
318
|
specification_version: 4
|
297
319
|
summary: A gem to make setup and start of UI automation projects easier
|
@@ -1,59 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'generator'
|
4
|
-
|
5
|
-
class AutomationGenerator < Generator
|
6
|
-
def generate_login_page
|
7
|
-
return unless (@_initializer.first & %w[android ios cross_platform]).empty?
|
8
|
-
|
9
|
-
template('automation/login_page.tt', "#{name}/page_objects/pages/login_page.rb")
|
10
|
-
end
|
11
|
-
|
12
|
-
def generate_abstract_page
|
13
|
-
template('automation/abstract_page.tt', "#{name}/page_objects/abstract/abstract_page.rb")
|
14
|
-
end
|
15
|
-
|
16
|
-
def generate_home_page
|
17
|
-
return if (@_initializer.first & %w[android ios cross_platform]).empty?
|
18
|
-
|
19
|
-
template('automation/home_page.tt', "#{name}/page_objects/pages/home_page.rb")
|
20
|
-
end
|
21
|
-
|
22
|
-
def generate_pdp_page
|
23
|
-
return if (@_initializer.first & %w[android ios cross_platform]).empty?
|
24
|
-
|
25
|
-
template('automation/pdp_page.tt', "#{name}/page_objects/pages/pdp_page.rb")
|
26
|
-
end
|
27
|
-
|
28
|
-
def generate_header_component
|
29
|
-
return unless (@_initializer.first & %w[android ios cross_platform]).empty?
|
30
|
-
return if @_initializer.first.last
|
31
|
-
|
32
|
-
template('automation/component.tt', "#{name}/page_objects/components/header_component.rb")
|
33
|
-
end
|
34
|
-
|
35
|
-
def generate_abstract_component
|
36
|
-
return unless (@_initializer.first & %w[android ios cross_platform]).empty?
|
37
|
-
return if @_initializer.first.last
|
38
|
-
|
39
|
-
template('automation/abstract_component.tt', "#{name}/page_objects/abstract/abstract_component.rb")
|
40
|
-
end
|
41
|
-
|
42
|
-
def generate_appium_settings
|
43
|
-
return if (@_initializer.first & %w[android ios cross_platform]).empty?
|
44
|
-
|
45
|
-
template('automation/appium_caps.tt', "#{name}/config/capabilities.yml")
|
46
|
-
end
|
47
|
-
|
48
|
-
def generate_app_page
|
49
|
-
return unless @_initializer.first.last
|
50
|
-
|
51
|
-
template('automation/app_page.tt', "#{name}/page_objects/pages/app_page.rb")
|
52
|
-
end
|
53
|
-
|
54
|
-
def generate_visual_options
|
55
|
-
return unless @_initializer.first.last
|
56
|
-
|
57
|
-
template('automation/visual_options.tt', "#{name}/config/options.yml")
|
58
|
-
end
|
59
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'generator'
|
4
|
-
|
5
|
-
class CucumberGenerator < Generator
|
6
|
-
def generate_feature
|
7
|
-
template('cucumber/feature.tt', "#{name}/features/#{template_name}.feature")
|
8
|
-
end
|
9
|
-
|
10
|
-
def generate_steps
|
11
|
-
template('cucumber/steps.tt', "#{name}/features/step_definitions/#{template_name}_steps.rb")
|
12
|
-
end
|
13
|
-
|
14
|
-
def generate_env_file
|
15
|
-
template('cucumber/env.tt', "#{name}/features/support/env.rb")
|
16
|
-
end
|
17
|
-
|
18
|
-
def generate_world
|
19
|
-
template('cucumber/world.tt', "#{name}/world.rb")
|
20
|
-
end
|
21
|
-
|
22
|
-
def template_name
|
23
|
-
@template_name ||= (@_initializer.first & %w[android ios cross_platform]).empty? ? 'login' : 'home'
|
24
|
-
end
|
25
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'generator'
|
4
|
-
|
5
|
-
class RspecGenerator < Generator
|
6
|
-
def generate_login_spec
|
7
|
-
return unless (@_initializer.first & %w[android ios cross_platform]).empty?
|
8
|
-
|
9
|
-
template('rspec/spec.tt', "#{name}/spec/login_page_spec.rb")
|
10
|
-
end
|
11
|
-
|
12
|
-
def generate_pdp_spec
|
13
|
-
return if (@_initializer.first & %w[android ios cross_platform]).empty?
|
14
|
-
|
15
|
-
template('rspec/spec.tt', "#{name}/spec/pdp_page_spec.rb")
|
16
|
-
end
|
17
|
-
|
18
|
-
def generate_base_spec
|
19
|
-
template('rspec/base_spec.tt', "#{name}/spec/base_spec.rb")
|
20
|
-
end
|
21
|
-
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/data/lib/generators/{templates/automation → automation/templates}/partials/cross_platform_caps.tt
RENAMED
File without changes
|
File without changes
|
/data/lib/generators/{templates/automation → automation/templates}/partials/home_page_selector.tt
RENAMED
File without changes
|
/data/lib/generators/{templates/automation → automation/templates}/partials/initialize_selector.tt
RENAMED
File without changes
|
File without changes
|
/data/lib/generators/{templates/automation → automation/templates}/partials/pdp_page_selector.tt
RENAMED
File without changes
|
/data/lib/generators/{templates/automation → automation/templates}/partials/require_raider.tt
RENAMED
File without changes
|
/data/lib/generators/{templates/automation → automation/templates}/partials/selenium_login.tt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/data/lib/generators/{templates/cucumber → cucumber/templates}/partials/selenium_appium_env.tt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|