ruby_raider 0.5.9 → 0.6.0
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/Rakefile +0 -12
- data/lib/ruby_raider.rb +1 -11
- data/ruby_raider.gemspec +1 -1
- metadata +1 -4
- data/lib/desktop/base_screen.rb +0 -5
- data/lib/desktop/installation_screen.rb +0 -137
- data/lib/desktop/runner_screen.rb +0 -123
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 343290e25435b54bda41d2a43a13eb23713e4ac1b89d773e1a981e250dce0bda
|
4
|
+
data.tar.gz: 72610baae56c1f6b22364d1ad5717425f781c987972a59470e831a2c8c627a8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d2bbcec5a84038878369fb76d31ae8965abcf9300b7aa02957ca0ff2c4244e74c8ecd195dbb7eb053218974bc286b99fac6074baafdb40af021a5e75b56ed3b
|
7
|
+
data.tar.gz: 987a2a4fe907958384ba1e1ccd110987bbff1cd497577f5f51621fd3ab4bdaffdceff43bbe829ec0c9847fe7fe5ad470047da5a1c9040af29172458248f9cbd4
|
data/Rakefile
CHANGED
@@ -2,8 +2,6 @@
|
|
2
2
|
|
3
3
|
require_relative 'lib/ruby_raider'
|
4
4
|
require_relative 'lib/commands/scaffolding_commands'
|
5
|
-
require_relative 'lib/desktop/installation_screen'
|
6
|
-
require_relative 'lib/desktop/runner_screen'
|
7
5
|
|
8
6
|
desc 'Creates a new test project'
|
9
7
|
task :new, [:name] do |_t, args|
|
@@ -29,13 +27,3 @@ desc 'Download mobile builds'
|
|
29
27
|
task :builds, [:type] do |_t, args|
|
30
28
|
ScaffoldingCommands.new.invoke(:download_builds, nil, %W[#{args.type}])
|
31
29
|
end
|
32
|
-
|
33
|
-
desc 'Open the desktop app'
|
34
|
-
task :open do
|
35
|
-
InstallationScreen.new.launch
|
36
|
-
end
|
37
|
-
|
38
|
-
desc 'Open the run screen'
|
39
|
-
task :runner do
|
40
|
-
RunnerScreen.new.launch
|
41
|
-
end
|
data/lib/ruby_raider.rb
CHANGED
@@ -3,8 +3,6 @@
|
|
3
3
|
require_relative '../lib/commands/open_ai_commands'
|
4
4
|
require_relative '../lib/commands/scaffolding_commands'
|
5
5
|
require_relative '../lib/commands/utility_commands'
|
6
|
-
require_relative '../lib/desktop/installation_screen'
|
7
|
-
require_relative '../lib/desktop/runner_screen'
|
8
6
|
|
9
7
|
module RubyRaider
|
10
8
|
class Raider < Thor
|
@@ -16,16 +14,8 @@ module RubyRaider
|
|
16
14
|
|
17
15
|
map '-n' => 'new'
|
18
16
|
|
19
|
-
desc 'open', 'It opens the Ruby Raider desktop app'
|
20
|
-
def open
|
21
|
-
if File.directory?('spec') || File.directory?('feature')
|
22
|
-
RunnerScreen.new.launch
|
23
|
-
else
|
24
|
-
InstallationScreen.new.launch
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
17
|
desc 'version', 'It shows the version of Ruby Raider you are currently using'
|
18
|
+
|
29
19
|
def version
|
30
20
|
spec = Gem::Specification.find_by_name('ruby_raider')
|
31
21
|
version = spec.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.
|
5
|
+
s.version = '0.6.0'
|
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,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_raider
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Agustin Pequeno
|
@@ -204,9 +204,6 @@ files:
|
|
204
204
|
- lib/commands/open_ai_commands.rb
|
205
205
|
- lib/commands/scaffolding_commands.rb
|
206
206
|
- lib/commands/utility_commands.rb
|
207
|
-
- lib/desktop/base_screen.rb
|
208
|
-
- lib/desktop/installation_screen.rb
|
209
|
-
- lib/desktop/runner_screen.rb
|
210
207
|
- lib/generators/automation/automation_examples_generator.rb
|
211
208
|
- lib/generators/automation/automation_generator.rb
|
212
209
|
- lib/generators/automation/templates/abstract_component.tt
|
data/lib/desktop/base_screen.rb
DELETED
@@ -1,137 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'base_screen'
|
4
|
-
require_relative '../generators/invoke_generators'
|
5
|
-
|
6
|
-
class InstallationScreen < BaseScreen
|
7
|
-
include InvokeGenerators
|
8
|
-
|
9
|
-
attr_accessor :entry_text
|
10
|
-
|
11
|
-
def launch
|
12
|
-
window('Ruby Raider', 800, 600) do
|
13
|
-
margined true
|
14
|
-
tab do
|
15
|
-
tab_item('Installer') do
|
16
|
-
vertical_box do
|
17
|
-
vertical_box do
|
18
|
-
stretchy false
|
19
|
-
label('Project Name') do
|
20
|
-
stretchy false
|
21
|
-
end
|
22
|
-
|
23
|
-
entry do
|
24
|
-
stretchy false # Smart default option for appending to horizontal_box
|
25
|
-
text <=> [self, :entry_text, { after_write: lambda { |text|
|
26
|
-
@project_name = text
|
27
|
-
$stdout.flush
|
28
|
-
} }] # bidirectional data-binding between text property and entry_text attribute, printing after write to model.
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
vertical_box do
|
33
|
-
stretchy false
|
34
|
-
|
35
|
-
@radio = radio_buttons do
|
36
|
-
stretchy false
|
37
|
-
|
38
|
-
items 'Web', 'Mobile'
|
39
|
-
selected_item 'Web'
|
40
|
-
on_selected do |buttons|
|
41
|
-
if buttons.selected_item == 'Web'
|
42
|
-
@mobile_automation.hide
|
43
|
-
@platforms.hide
|
44
|
-
@web_automation.show
|
45
|
-
else
|
46
|
-
@web_automation.hide
|
47
|
-
@mobile_automation.show
|
48
|
-
@platforms.show
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
@mobile_automation = combobox do
|
54
|
-
stretchy false
|
55
|
-
visible false
|
56
|
-
items 'Appium'
|
57
|
-
selected_item 'Appium'
|
58
|
-
end
|
59
|
-
|
60
|
-
@web_automation = combobox do
|
61
|
-
stretchy false
|
62
|
-
visible true
|
63
|
-
items 'Selenium', 'Watir'
|
64
|
-
selected_item 'Selenium'
|
65
|
-
end
|
66
|
-
|
67
|
-
@platforms = combobox do
|
68
|
-
stretchy false
|
69
|
-
visible false
|
70
|
-
items 'Android', 'iOS', 'Cross-Platform'
|
71
|
-
selected_item 'iOS'
|
72
|
-
end
|
73
|
-
|
74
|
-
@framework = combobox do
|
75
|
-
stretchy false
|
76
|
-
visible true
|
77
|
-
items 'Cucumber', 'Rspec'
|
78
|
-
selected_item 'Cucumber'
|
79
|
-
|
80
|
-
on_selected do |items|
|
81
|
-
if items.selected_item == 'Rspec' && @radio.selected_item != 'Mobile'
|
82
|
-
@visual_checkbox.show
|
83
|
-
else
|
84
|
-
@visual_checkbox.hide
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
@visual_checkbox = checkbox('Applitools integration') do
|
90
|
-
stretchy false
|
91
|
-
visible false
|
92
|
-
end
|
93
|
-
|
94
|
-
@example_checkbox = checkbox('Add example files') do
|
95
|
-
stretchy false
|
96
|
-
visible true
|
97
|
-
end
|
98
|
-
|
99
|
-
button('Create Project') do
|
100
|
-
stretchy false
|
101
|
-
on_clicked do
|
102
|
-
automation = if @web_automation.visible?
|
103
|
-
@web_automation.selected_item
|
104
|
-
else
|
105
|
-
@mobile_automation.selected_item
|
106
|
-
end
|
107
|
-
structure = {
|
108
|
-
automation: automation,
|
109
|
-
examples: @example_checkbox.checked,
|
110
|
-
framework: @framework.selected_item,
|
111
|
-
generators: %w[Automation Common Helpers],
|
112
|
-
name: @project_name,
|
113
|
-
visual: @visual_checkbox.checked
|
114
|
-
}
|
115
|
-
generate_framework(structure)
|
116
|
-
@installation_box.text = if File.directory?(@project_name)
|
117
|
-
"Your project has been created, close this window, go to the folder #{@project_name} and run 'raider open'"
|
118
|
-
else
|
119
|
-
'There was a problem creating your project try again'
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|
123
|
-
end
|
124
|
-
vertical_box do
|
125
|
-
stretchy false
|
126
|
-
@installation_box = multiline_entry do
|
127
|
-
stretchy false
|
128
|
-
text 'Your installation result will appear here...'
|
129
|
-
$stdout.flush
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
135
|
-
end.show
|
136
|
-
end
|
137
|
-
end
|
@@ -1,123 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'open3'
|
4
|
-
require 'yaml'
|
5
|
-
require_relative 'base_screen'
|
6
|
-
|
7
|
-
class RunnerScreen < BaseScreen
|
8
|
-
attr_accessor :contacts
|
9
|
-
|
10
|
-
CONFIG_ITEM = Struct.new(:attribute, :value)
|
11
|
-
CAP = Struct.new(:attribute, :value)
|
12
|
-
|
13
|
-
if File.directory?('spec')
|
14
|
-
@folder = 'spec'
|
15
|
-
@framework = 'rspec'
|
16
|
-
@extension = '*_spec.rb'
|
17
|
-
else
|
18
|
-
@folder = 'features'
|
19
|
-
@framework = 'cucumber'
|
20
|
-
@extension = '*.features'
|
21
|
-
end
|
22
|
-
|
23
|
-
window('Ruby Raider', 1200, 800) do
|
24
|
-
margined true
|
25
|
-
vertical_box do
|
26
|
-
grid do
|
27
|
-
stretchy false
|
28
|
-
|
29
|
-
button('▶') do
|
30
|
-
left 0
|
31
|
-
on_clicked do
|
32
|
-
output = Open3.popen3("#{@framework} #{@tests.selected_item}") do |_stdin, stdout, _stderr|
|
33
|
-
stdout.read
|
34
|
-
end
|
35
|
-
system "rspec #{@tests.selected_item}"
|
36
|
-
@results.text = output
|
37
|
-
end
|
38
|
-
end
|
39
|
-
button('■') do
|
40
|
-
left 1
|
41
|
-
on_clicked do
|
42
|
-
pp 'The stop feature will be implemented in a later release'
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
@tests = combobox do
|
47
|
-
left 2
|
48
|
-
files = Dir.glob(File.join(@folder, @extension)) || ['No Files are created']
|
49
|
-
items files
|
50
|
-
selected_item files.first
|
51
|
-
@file = File.open(files.first) unless files.first == 'No Files are created'
|
52
|
-
|
53
|
-
on_selected do |items|
|
54
|
-
@results.text = ''
|
55
|
-
path = items.selected_item
|
56
|
-
@file = File.open(path)
|
57
|
-
@text_box.text = @file.read
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
button('Open Dashboard') do
|
62
|
-
left 3
|
63
|
-
halign :end
|
64
|
-
on_clicked do
|
65
|
-
system 'allure serve allure-reports'
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
tab do
|
71
|
-
stretchy true
|
72
|
-
|
73
|
-
tab_item('Tests') do
|
74
|
-
horizontal_box do
|
75
|
-
@text_box = multiline_entry do
|
76
|
-
text @file.read
|
77
|
-
|
78
|
-
on_changed do |e|
|
79
|
-
File.write(@tests.selected_item, e.text)
|
80
|
-
$stdout.flush # for Windows
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
@results = multiline_entry do
|
85
|
-
text ''
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
tab_item('Configuration') do
|
91
|
-
@config = YAML.load_file('config/config.yml')
|
92
|
-
config_items = @config.map { |key, value| CONFIG_ITEM.new(key, value) }
|
93
|
-
vertical_box do
|
94
|
-
refined_table(
|
95
|
-
model_array: config_items,
|
96
|
-
table_columns: {
|
97
|
-
'Attribute' => :text,
|
98
|
-
'Value' => { text: { editable: true } }
|
99
|
-
},
|
100
|
-
table_editable: true,
|
101
|
-
per_page: 20
|
102
|
-
)
|
103
|
-
end
|
104
|
-
end
|
105
|
-
tab_item('Capabilities') do
|
106
|
-
caps = File.exist?('config/capabilities.yml') ? YAML.load_file('config/capabilities.yml') : []
|
107
|
-
caps = caps.map { |key, value| CAP.new(key, value) }
|
108
|
-
vertical_box do
|
109
|
-
refined_table(
|
110
|
-
model_array: caps,
|
111
|
-
table_columns: {
|
112
|
-
'Attribute' => :text,
|
113
|
-
'Value' => { text: { editable: true } }
|
114
|
-
},
|
115
|
-
table_editable: true,
|
116
|
-
per_page: 20
|
117
|
-
)
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end.show
|
123
|
-
end
|