ruby_raider 0.8.3 → 0.8.6
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/workflows/integration.yml +25 -0
- data/.github/workflows/{rspec.yml → system.yml} +9 -7
- data/README.md +29 -53
- data/Rakefile +19 -0
- data/lib/commands/open_ai_commands.rb +24 -0
- data/lib/commands/utility_commands.rb +5 -0
- data/lib/generators/cucumber/templates/partials/mobile_steps.tt +5 -2
- data/lib/generators/rspec/templates/spec.tt +3 -0
- data/lib/generators/templates/common/read_me.tt +30 -51
- data/lib/generators/templates/helpers/spec_helper.tt +1 -1
- data/lib/open_ai/open_ai.rb +2 -2
- data/lib/ruby_raider.rb +6 -1
- data/ruby_raider.gemspec +2 -2
- data/spec/{open_ai_commands_spec.rb → integration/commands/open_ai_commands_spec.rb} +4 -4
- data/spec/{scaffolding_commands_spec.rb → integration/commands/scaffolding_commands_spec.rb} +4 -4
- data/spec/{utility_commands_spec.rb → integration/commands/utility_commands_spec.rb} +4 -4
- data/spec/{actions_generator_spec.rb → integration/generators/actions_generator_spec.rb} +2 -2
- data/spec/{automation_generator_spec.rb → integration/generators/automation_generator_spec.rb} +2 -2
- data/spec/{common_generator_spec.rb → integration/generators/common_generator_spec.rb} +2 -2
- data/spec/{cucumber_generator_spec.rb → integration/generators/cucumber_generator_spec.rb} +2 -2
- data/spec/{helpers_generator_spec.rb → integration/generators/helpers_generator_spec.rb} +2 -2
- data/spec/{rspec_generator_spec.rb → integration/generators/rspec_generator_spec.rb} +2 -2
- data/spec/{ruby_raider_spec.rb → system/ruby_raider_spec.rb} +6 -6
- metadata +16 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7bd92fae06515596d875be2a1c9d05b2335574839da3269de1c598d4287e9fd9
|
4
|
+
data.tar.gz: 8cc4c5922b36406b33d5e5df4c897ab0ce3a0d3a7036395293e634eeccbb27a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c521e8d445f0490f04349ede87a4fd56552dd13ac1261735792b82a5ab3c064202120fc1bd4fb64c18d05f7575d5dd5b94dde68d186c3cb7b27e54ceeb095390
|
7
|
+
data.tar.gz: 2d4f842b0214f55d11a6711353dd059d21085ee636cd1d6c81bd2d143b2fcee92d236f27906f1a8caa3bbc9b44dcb9a6151c2dd29f7720228a873480f9922742
|
@@ -0,0 +1,25 @@
|
|
1
|
+
name: Integration tests
|
2
|
+
|
3
|
+
on: [pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
name: Integration pipeline
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
|
10
|
+
steps:
|
11
|
+
- name: Set up Ruby
|
12
|
+
uses: ruby/setup-ruby@f20f1eae726df008313d2e0d78c5e602562a1bcf
|
13
|
+
with:
|
14
|
+
ruby-version: head
|
15
|
+
|
16
|
+
- name: Checkout repository
|
17
|
+
uses: actions/checkout@v3
|
18
|
+
|
19
|
+
- name: Install gems
|
20
|
+
run: bundle install
|
21
|
+
|
22
|
+
- name: Build and run integration tests
|
23
|
+
env:
|
24
|
+
OPENAI_ACCESS_TOKEN: ${{ secrets.OPENAI_ACCESS_TOKEN }}
|
25
|
+
run: rake integration
|
@@ -1,14 +1,16 @@
|
|
1
|
-
|
1
|
+
env:
|
2
|
+
NAME: 'CI'
|
3
|
+
|
4
|
+
name: System tests
|
2
5
|
|
3
6
|
on:
|
4
7
|
push:
|
5
|
-
branches:
|
6
|
-
|
7
|
-
branches: [ "*" ]
|
8
|
+
branches:
|
9
|
+
- master
|
8
10
|
|
9
11
|
jobs:
|
10
12
|
build:
|
11
|
-
name:
|
13
|
+
name: System pipeline
|
12
14
|
runs-on: ubuntu-latest
|
13
15
|
|
14
16
|
steps:
|
@@ -23,7 +25,7 @@ jobs:
|
|
23
25
|
- name: Install gems
|
24
26
|
run: bundle install
|
25
27
|
|
26
|
-
- name: Build and
|
28
|
+
- name: Build and run system tests
|
27
29
|
env:
|
28
30
|
OPENAI_ACCESS_TOKEN: ${{ secrets.OPENAI_ACCESS_TOKEN }}
|
29
|
-
run:
|
31
|
+
run: rake system
|
data/README.md
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
# Ruby Raider
|
2
2
|
|
3
3
|
[](https://badge.fury.io/rb/ruby_raider)
|
4
|
-
[](https://github.com/RubyRaider/ruby_raider/actions/workflows/integration.yml)
|
5
|
+
[](https://github.com/RubyRaider/ruby_raider/actions/workflows/reek.yml)
|
6
|
+
[](https://github.com/RubyRaider/ruby_raider/actions/workflows/rubocop.yml)
|
5
7
|
[](https://gitter.im/RubyRaider/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
6
8
|
|
7
9
|
<!-- PROJECT LOGO -->
|
@@ -26,43 +28,30 @@
|
|
26
28
|
<p align="center"> For more information and updates on releases, see <a href="https://ruby-raider.com">https://ruby-raider.com</a></p>
|
27
29
|
</div>
|
28
30
|
|
29
|
-
## What is
|
31
|
+
## What is Ruby Raider?
|
30
32
|
|
31
33
|
Ruby Raider is a generator and scaffolding gem to make UI test automation easier
|
32
34
|
|
33
|
-
### At the moment Ruby
|
35
|
+
### At the moment Ruby Raider supports generating the following frameworks:
|
36
|
+
| Web Testing Framework | Visual Testing Framework | Mobile Testing Framework |
|
37
|
+
|----------------------------|---------------------------------------------|-------------------------------------------|
|
38
|
+
| Cucumber and Selenium | Cucumber, Applitools and Selenium | Cucumber and Appium for IOS |
|
39
|
+
| Rspec and Selenium | Rspec, Applitools and Selenium | Rspec and Appium for IOS |
|
40
|
+
| Cucumber and Watir | | Cucumber and Appium for Android |
|
41
|
+
| Rspec and Watir | | Rspec and Appium for Android |
|
42
|
+
| | | Cucumber and Appium Cross-platform |
|
43
|
+
| | | Rspec and Appium Cross-platform |
|
44
|
+
| | | Cucumber and Sparkling Watir for IOS |
|
45
|
+
| | | Rspec and Sparkling Watir for IOS |
|
34
46
|
|
35
|
-
* Generating a framework with Cucumber and Selenium
|
36
47
|
|
37
|
-
* Generating a framework with Rspec and Selenium
|
38
|
-
|
39
|
-
* Generating a framework with Cucumber and Watir
|
40
|
-
|
41
|
-
* Generating a framework with Rspec and Watir
|
42
|
-
|
43
|
-
* Generating a framework with Rspec and Appium for IOS
|
44
|
-
|
45
|
-
* Generating a framework with Cucumber and Appium for IOS
|
46
|
-
|
47
|
-
* Generating a framework with Rspec and Appium for Android
|
48
|
-
|
49
|
-
* Generating a framework with Cucumber and Appium for Android
|
50
|
-
|
51
|
-
* Generating a framework with Rspec and Appium cross platform
|
52
|
-
|
53
|
-
* Generating a framework with Cucumber and Appium cross platform
|
54
|
-
|
55
|
-
* Generating a visual testing framework with Rspec, Applitools and Selenium
|
56
|
-
|
57
|
-
* Generating a visual testing framework with Cucumber, Applitools and Selenium
|
58
|
-
|
59
|
-
* Generating a mobile testing framework with Rspec and Sparkling Watir for IOS
|
60
|
-
|
61
|
-
* Generating a mobile testing framework with Cucumber and Sparkling Watir for IOS
|
62
48
|
|
63
49
|
***In order to run the Appium tests, download the example [app](https://github.com/saucelabs/my-demo-app-rn).***
|
64
|
-
***Remember to use the full path of the app that you download in the capabilities file
|
65
|
-
|
50
|
+
***Remember to use the full path of the app that you download in the capabilities file and start the server using one of the commands below:***
|
51
|
+
```ruby
|
52
|
+
raider u start_appium
|
53
|
+
appium --base-path /wd/hub
|
54
|
+
```
|
66
55
|
***In order to run the visual tests with applitools, you need to create an account and get your api key, you can read
|
67
56
|
more [here](https://applitools.com/docs/topics/overview/obtain-api-key.html#:~:text=If%20you%20already%20have%20an,Your%20key%20will%20be%20displayed.)
|
68
57
|
.***
|
@@ -98,13 +87,13 @@ Select the ones you will like to work with.
|
|
98
87
|
###### Anything between square brackets([...]) is where your imput goes
|
99
88
|
|
100
89
|
```ruby
|
101
|
-
Commands
|
90
|
+
Commands:
|
102
91
|
raider generate # Provides access to all the generators commands
|
103
|
-
raider help [COMMAND] # Describe available commands or one specific command
|
104
|
-
raider new [PROJECT_NAME] # Creates a new framework based on settings picked
|
105
|
-
raider open_ai # Provides access to all the open ai commands
|
106
|
-
raider utility # Provides access to all the utility commands
|
107
|
-
raider version # It shows the version of Ruby Raider you are currently using
|
92
|
+
raider help [COMMAND] # Describe available commands or one specific command
|
93
|
+
raider new [PROJECT_NAME] # Creates a new framework based on settings picked
|
94
|
+
raider open_ai # Provides access to all the open ai commands
|
95
|
+
raider utility # Provides access to all the utility commands
|
96
|
+
raider version # It shows the version of Ruby Raider you are currently using
|
108
97
|
```
|
109
98
|
|
110
99
|
All the basic commands have their corresponding shortcut:
|
@@ -115,25 +104,12 @@ All the basic commands have their corresponding shortcut:
|
|
115
104
|
* u for utility
|
116
105
|
* v for version
|
117
106
|
|
118
|
-
|
119
|
-
|
120
|
-
* To create a new page object you do: ```raider g page [PAGE_NAME]```
|
121
|
-
* To create a new spec you do: ```raider g spec [SPEC_NAME]```
|
122
|
-
* To create a new feature you do: ```raider g feature [FEATURE_NAME]```
|
123
|
-
|
124
|
-
It's possible to add the option --path or -p if you want to specify where to create your features, pages, helpers and
|
125
|
-
specs.
|
126
|
-
|
127
|
-
If you want to set the default path for the creation of your features, helpers and specs:
|
128
|
-
|
107
|
+
### Appium Server Command
|
108
|
+
To initialise Appium server run this command:
|
129
109
|
```ruby
|
130
|
-
raider u
|
131
|
-
raider u path [PATH_NAME] - -spec or -s
|
132
|
-
raider u path [PATH_NAME] - -helper or -h
|
110
|
+
raider u start_appium
|
133
111
|
```
|
134
112
|
|
135
|
-
If you don't specify an option, path will assume you want to change the default path for pages.
|
136
|
-
|
137
113
|
### Open AI Commands
|
138
114
|
|
139
115
|
```ruby
|
data/Rakefile
CHANGED
@@ -33,3 +33,22 @@ desc 'Logs a warning'
|
|
33
33
|
task :log, [:message] do |_t, args|
|
34
34
|
RubyRaider::Logger.warn(args.message)
|
35
35
|
end
|
36
|
+
|
37
|
+
desc 'Runs integration tests'
|
38
|
+
task :integration, [:type, :name] do |_t, args|
|
39
|
+
path = args.type ? "spec/integration/#{args.type}" : 'spec/integration'
|
40
|
+
full_path = if args.type == 'generators' && args.name
|
41
|
+
"#{path}/#{args.name.downcase}_generator_spec.rb"
|
42
|
+
elsif args.type == 'commands' && args.name
|
43
|
+
"#{path}/#{args.name.downcase}_commands_spec.rb"
|
44
|
+
else
|
45
|
+
path
|
46
|
+
end
|
47
|
+
|
48
|
+
system "rspec #{full_path}"
|
49
|
+
end
|
50
|
+
|
51
|
+
desc 'Runs system tests'
|
52
|
+
task :system do |_t|
|
53
|
+
system 'rspec spec/system'
|
54
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'thor'
|
2
|
+
require 'faraday'
|
2
3
|
require_relative '../open_ai/open_ai'
|
3
4
|
|
4
5
|
class OpenAiCommands < Thor
|
@@ -58,4 +59,27 @@ class OpenAiCommands < Thor
|
|
58
59
|
make(options[:open_ai], "#{path}/#{name}_steps.rb")
|
59
60
|
end
|
60
61
|
end
|
62
|
+
|
63
|
+
desc 'test', 'Uses open AI to create a file or generate output'
|
64
|
+
def test
|
65
|
+
conn = Faraday.new(url: 'https://api.openai.com') do |faraday|
|
66
|
+
faraday.headers['Content-Type'] = 'application/json'
|
67
|
+
faraday.headers['Authorization'] = "Bearer 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"
|
68
|
+
faraday.headers['OpenAI-Beta'] = 'assistants=v1'
|
69
|
+
end
|
70
|
+
|
71
|
+
# Data payload for the POST request
|
72
|
+
payload = {
|
73
|
+
instructions: "You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
|
74
|
+
name: "Math Tutor",
|
75
|
+
tools: [{ type: "code_interpreter" }],
|
76
|
+
model: "gpt-4-1106-preview"
|
77
|
+
}
|
78
|
+
|
79
|
+
# Perform the POST request
|
80
|
+
response = conn.post('/v1/assistants', payload.to_json)
|
81
|
+
|
82
|
+
# Output the response body
|
83
|
+
puts response.body
|
84
|
+
end
|
61
85
|
end
|
@@ -19,8 +19,11 @@ end
|
|
19
19
|
<%- else -%>
|
20
20
|
# frozen_string_literal: true
|
21
21
|
|
22
|
-
|
23
|
-
require_relative '../../
|
22
|
+
<% if automation == 'cross_platform' -%>
|
23
|
+
require_relative '../../helpers/appium_helper'
|
24
|
+
<%- end -%>
|
25
|
+
require_relative '../../page_objects/pages/home'
|
26
|
+
require_relative '../../page_objects/pages/pdp'
|
24
27
|
|
25
28
|
Given("I'm an anonymous user on the home page") do
|
26
29
|
@home_page = Home.new(driver)
|
@@ -60,6 +60,9 @@ class PdpSpec
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
<%- else -%>
|
63
|
+
<% if automation == 'cross_platform' -%>
|
64
|
+
require_relative '../helpers/appium_helper'
|
65
|
+
<%- end -%>
|
63
66
|
require_relative '../helpers/spec_helper'
|
64
67
|
require_relative '../page_objects/pages/home'
|
65
68
|
require_relative '../page_objects/pages/pdp'
|
@@ -1,5 +1,9 @@
|
|
1
1
|
# Ruby Raider
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/ruby_raider)
|
4
|
+
[](https://github.com/RubyRaider/ruby_raider/actions/workflows/rspec.yml)
|
5
|
+
[](https://gitter.im/RubyRaider/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
6
|
+
|
3
7
|
<!-- PROJECT LOGO -->
|
4
8
|
<br />
|
5
9
|
<div align="center">
|
@@ -22,43 +26,30 @@
|
|
22
26
|
<p align="center"> For more information and updates on releases, see <a href="https://ruby-raider.com">https://ruby-raider.com</a></p>
|
23
27
|
</div>
|
24
28
|
|
25
|
-
## What is
|
29
|
+
## What is Ruby Raider?
|
26
30
|
|
27
31
|
Ruby Raider is a generator and scaffolding gem to make UI test automation easier
|
28
32
|
|
29
|
-
### At the moment Ruby
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
* Generating a framework with Cucumber and Appium for IOS
|
42
|
-
|
43
|
-
* Generating a framework with Rspec and Appium for Android
|
44
|
-
|
45
|
-
* Generating a framework with Cucumber and Appium for Android
|
46
|
-
|
47
|
-
* Generating a framework with Rspec and Appium cross platform
|
33
|
+
### At the moment Ruby Raider supports generating the following frameworks:
|
34
|
+
| Web Testing Framework | Visual Testing Framework | Mobile Testing Framework |
|
35
|
+
|----------------------------|---------------------------------------------|-------------------------------------------|
|
36
|
+
| Cucumber and Selenium | Cucumber, Applitools and Selenium | Cucumber and Appium for IOS |
|
37
|
+
| Rspec and Selenium | Rspec, Applitools and Selenium | Rspec and Appium for IOS |
|
38
|
+
| Cucumber and Watir | | Cucumber and Appium for Android |
|
39
|
+
| Rspec and Watir | | Rspec and Appium for Android |
|
40
|
+
| | | Cucumber and Appium Cross-platform |
|
41
|
+
| | | Rspec and Appium Cross-platform |
|
42
|
+
| | | Cucumber and Sparkling Watir for IOS |
|
43
|
+
| | | Rspec and Sparkling Watir for IOS |
|
48
44
|
|
49
|
-
* Generating a framework with Cucumber and Appium cross platform
|
50
45
|
|
51
|
-
* Generating a visual testing framework with Rspec, Applitools and Selenium
|
52
|
-
|
53
|
-
* Generating a visual testing framework with Cucumber, Applitools and Selenium
|
54
|
-
|
55
|
-
* Generating a mobile testing framework with Rspec and Sparkling Watir for IOS
|
56
|
-
|
57
|
-
* Generating a mobile testing framework with Cucumber and Sparkling Watir for IOS
|
58
46
|
|
59
47
|
***In order to run the Appium tests, download the example [app](https://github.com/saucelabs/my-demo-app-rn).***
|
60
|
-
***Remember to use the full path of the app that you download in the capabilities file
|
61
|
-
|
48
|
+
***Remember to use the full path of the app that you download in the capabilities file and start the server using one of the commands below:***
|
49
|
+
```ruby
|
50
|
+
raider u start_appium
|
51
|
+
appium --base-path /wd/hub
|
52
|
+
```
|
62
53
|
***In order to run the visual tests with applitools, you need to create an account and get your api key, you can read
|
63
54
|
more [here](https://applitools.com/docs/topics/overview/obtain-api-key.html#:~:text=If%20you%20already%20have%20an,Your%20key%20will%20be%20displayed.)
|
64
55
|
.***
|
@@ -94,13 +85,13 @@ Select the ones you will like to work with.
|
|
94
85
|
###### Anything between square brackets([...]) is where your imput goes
|
95
86
|
|
96
87
|
```ruby
|
97
|
-
Commands
|
88
|
+
Commands:
|
98
89
|
raider generate # Provides access to all the generators commands
|
99
|
-
raider help [COMMAND] # Describe available commands or one specific command
|
100
|
-
raider new [PROJECT_NAME] # Creates a new framework based on settings picked
|
101
|
-
raider open_ai # Provides access to all the open ai commands
|
102
|
-
raider utility # Provides access to all the utility commands
|
103
|
-
raider version # It shows the version of Ruby Raider you are currently using
|
90
|
+
raider help [COMMAND] # Describe available commands or one specific command
|
91
|
+
raider new [PROJECT_NAME] # Creates a new framework based on settings picked
|
92
|
+
raider open_ai # Provides access to all the open ai commands
|
93
|
+
raider utility # Provides access to all the utility commands
|
94
|
+
raider version # It shows the version of Ruby Raider you are currently using
|
104
95
|
```
|
105
96
|
|
106
97
|
All the basic commands have their corresponding shortcut:
|
@@ -111,25 +102,13 @@ All the basic commands have their corresponding shortcut:
|
|
111
102
|
* u for utility
|
112
103
|
* v for version
|
113
104
|
|
114
|
-
Ruby raider also supports scaffolding:
|
115
|
-
|
116
|
-
* To create a new page object you do: ```raider g page [PAGE_NAME]```
|
117
|
-
* To create a new spec you do: ```raider g spec [SPEC_NAME]```
|
118
|
-
* To create a new feature you do: ```raider g feature [FEATURE_NAME]```
|
119
|
-
|
120
|
-
It's possible to add the option --path or -p if you want to specify where to create your features, pages, helpers and
|
121
|
-
specs.
|
122
|
-
|
123
|
-
If you want to set the default path for the creation of your features, helpers and specs:
|
124
105
|
|
106
|
+
### Appium Server Command
|
107
|
+
To initialise Appium server run this command:
|
125
108
|
```ruby
|
126
|
-
raider u
|
127
|
-
raider u path [PATH_NAME] - -spec or -s
|
128
|
-
raider u path [PATH_NAME] - -helper or -h
|
109
|
+
raider u start_appium
|
129
110
|
```
|
130
111
|
|
131
|
-
If you don't specify an option, path will assume you want to change the default path for pages.
|
132
|
-
|
133
112
|
### Open AI Commands
|
134
113
|
|
135
114
|
```ruby
|
@@ -20,7 +20,7 @@ module SpecHelper
|
|
20
20
|
config.after(:each) do |example|
|
21
21
|
example_name = example.description
|
22
22
|
Dir.mktmpdir do |temp_folder|
|
23
|
-
app.screenshot.save("#{temp_folder}/#{example_name}.png")
|
23
|
+
screenshot = app.screenshot.save("#{temp_folder}/#{example_name}.png")
|
24
24
|
AllureHelper.add_screenshot(example_name, screenshot)
|
25
25
|
end
|
26
26
|
app.close
|
data/lib/open_ai/open_ai.rb
CHANGED
@@ -14,12 +14,12 @@ module OpenAi
|
|
14
14
|
|
15
15
|
def configure_client
|
16
16
|
OpenAI.configure do |config|
|
17
|
-
config.access_token =
|
17
|
+
config.access_token = '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'
|
18
18
|
config.organization_id = ENV.fetch('OPENAI_ORGANIZATION_ID', nil)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
def input(request, model = 'gpt-
|
22
|
+
def input(request, model = 'gpt-4', temperature = 0.7)
|
23
23
|
client.chat(
|
24
24
|
parameters: {
|
25
25
|
model: model,
|
data/lib/ruby_raider.rb
CHANGED
@@ -19,7 +19,7 @@ module RubyRaider
|
|
19
19
|
desc 'version', 'It shows the version of Ruby Raider you are currently using'
|
20
20
|
|
21
21
|
def version
|
22
|
-
puts
|
22
|
+
puts "The version is #{parsed_version}, happy testing!"
|
23
23
|
end
|
24
24
|
|
25
25
|
map 'v' => 'version'
|
@@ -35,5 +35,10 @@ module RubyRaider
|
|
35
35
|
desc 'utility', 'Provides access to all the utility commands'
|
36
36
|
subcommand 'utility', UtilityCommands
|
37
37
|
map 'u' => 'utility'
|
38
|
+
|
39
|
+
no_commands do
|
40
|
+
def gemspec = Gem::Specification.load('ruby_raider.gemspec')
|
41
|
+
def parsed_version = Gem::Version.new(gemspec.version)
|
42
|
+
end
|
38
43
|
end
|
39
44
|
end
|
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.8.
|
5
|
+
s.version = '0.8.6'
|
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']
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.add_development_dependency 'rubocop-performance', '~> 1.15.0'
|
22
22
|
s.add_development_dependency 'rubocop-rspec', '~> 2.9.0'
|
23
23
|
|
24
|
-
s.add_runtime_dependency 'faraday', '~>
|
24
|
+
s.add_runtime_dependency 'faraday', '~> 1.10.0'
|
25
25
|
s.add_runtime_dependency 'ruby-openai', '~> 3.5'
|
26
26
|
s.add_runtime_dependency 'thor', '~> 1.2.1'
|
27
27
|
s.add_runtime_dependency 'tty-prompt', '~> 0.23.1'
|
@@ -2,10 +2,10 @@
|
|
2
2
|
# require 'fileutils'
|
3
3
|
# require 'pathname'
|
4
4
|
# require 'yaml'
|
5
|
-
# require_relative '
|
6
|
-
# require_relative '
|
7
|
-
# require_relative '
|
8
|
-
# require_relative 'spec_helper'
|
5
|
+
# require_relative '../../../lib/generators/common_generator'
|
6
|
+
# require_relative '../../../lib/integration.commands/open_ai_commands'
|
7
|
+
# require_relative '../../../lib/scaffolding/scaffolding'
|
8
|
+
# require_relative '../../spec_helper'
|
9
9
|
#
|
10
10
|
# describe OpenAiCommands do
|
11
11
|
# let(:open_ai) { described_class }
|
data/spec/{scaffolding_commands_spec.rb → integration/commands/scaffolding_commands_spec.rb}
RENAMED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'dotenv'
|
2
2
|
require 'pathname'
|
3
3
|
require 'yaml'
|
4
|
-
require_relative '
|
5
|
-
require_relative '
|
6
|
-
require_relative '
|
7
|
-
require_relative 'spec_helper'
|
4
|
+
require_relative '../../../lib/generators/common_generator'
|
5
|
+
require_relative '../../../lib/commands/scaffolding_commands'
|
6
|
+
require_relative '../../../lib/scaffolding/scaffolding'
|
7
|
+
require_relative '../../spec_helper'
|
8
8
|
|
9
9
|
describe ScaffoldingCommands do
|
10
10
|
let(:scaffold) { described_class }
|
@@ -2,10 +2,10 @@ require 'dotenv'
|
|
2
2
|
require 'fileutils'
|
3
3
|
require 'pathname'
|
4
4
|
require 'yaml'
|
5
|
-
require_relative '
|
6
|
-
require_relative '
|
7
|
-
require_relative '
|
8
|
-
require_relative 'spec_helper'
|
5
|
+
require_relative '../../../lib/generators/common_generator'
|
6
|
+
require_relative '../../../lib/commands/utility_commands'
|
7
|
+
require_relative '../../../lib/scaffolding/scaffolding'
|
8
|
+
require_relative '../../spec_helper'
|
9
9
|
|
10
10
|
describe UtilityCommands do
|
11
11
|
let(:utility) { described_class }
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '
|
4
|
-
require_relative 'spec_helper'
|
3
|
+
require_relative '../../../lib/generators/actions/actions_generator'
|
4
|
+
require_relative '../../spec_helper'
|
5
5
|
|
6
6
|
describe ActionsGenerator do
|
7
7
|
shared_examples 'creates web automation framework' do |name|
|
data/spec/{automation_generator_spec.rb → integration/generators/automation_generator_spec.rb}
RENAMED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '
|
4
|
-
require_relative 'spec_helper'
|
3
|
+
require_relative '../../../lib/generators/automation/automation_generator'
|
4
|
+
require_relative '../../spec_helper'
|
5
5
|
|
6
6
|
describe AutomationGenerator do
|
7
7
|
shared_examples 'creates web automation framework' do |name|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '
|
4
|
-
require_relative 'spec_helper'
|
3
|
+
require_relative '../../../lib/generators/common_generator'
|
4
|
+
require_relative '../../spec_helper'
|
5
5
|
|
6
6
|
describe CommonGenerator do
|
7
7
|
shared_examples 'creates common files' do |name|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '
|
4
|
-
require_relative 'spec_helper'
|
3
|
+
require_relative '../../../lib/generators/cucumber/cucumber_generator'
|
4
|
+
require_relative '../../spec_helper'
|
5
5
|
|
6
6
|
describe CucumberGenerator do
|
7
7
|
shared_examples 'creates cucumber files' do |project_name, file_name|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '
|
4
|
-
require_relative 'spec_helper'
|
3
|
+
require_relative '../../../lib/generators/helper_generator'
|
4
|
+
require_relative '../../spec_helper'
|
5
5
|
|
6
6
|
describe HelpersGenerator do
|
7
7
|
shared_examples 'creates common helpers' do |name|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '
|
4
|
-
require_relative 'spec_helper'
|
3
|
+
require_relative '../../../lib/generators/rspec/rspec_generator'
|
4
|
+
require_relative '../../spec_helper'
|
5
5
|
|
6
6
|
describe RspecGenerator do
|
7
7
|
shared_examples 'creates factory files' do |project_name|
|
@@ -1,14 +1,14 @@
|
|
1
1
|
require 'fileutils'
|
2
|
-
require_relative 'spec_helper'
|
3
|
-
require_relative '
|
2
|
+
require_relative '../spec_helper'
|
3
|
+
require_relative '../../lib/ruby_raider'
|
4
4
|
|
5
5
|
describe RubyRaider do
|
6
6
|
shared_examples 'execute web frameworks' do |name|
|
7
7
|
it 'runs the tests' do
|
8
|
-
|
9
|
-
Dir.chdir(name)
|
10
|
-
|
11
|
-
|
8
|
+
if ENV['CI']
|
9
|
+
Dir.chdir(name) { system('gem install bundler && bundle install && raider u raid') }
|
10
|
+
else
|
11
|
+
Bundler.with_unbundled_env { Dir.chdir(name) { system('bundle exec raider u raid') } }
|
12
12
|
end
|
13
13
|
end
|
14
14
|
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.8.
|
4
|
+
version: 0.8.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Agustin Pequeno
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dotenv
|
@@ -114,20 +114,14 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
118
|
-
- - ">="
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: 2.7.10
|
117
|
+
version: 1.10.0
|
121
118
|
type: :runtime
|
122
119
|
prerelease: false
|
123
120
|
version_requirements: !ruby/object:Gem::Requirement
|
124
121
|
requirements:
|
125
122
|
- - "~>"
|
126
123
|
- !ruby/object:Gem::Version
|
127
|
-
version:
|
128
|
-
- - ">="
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: 2.7.10
|
124
|
+
version: 1.10.0
|
131
125
|
- !ruby/object:Gem::Dependency
|
132
126
|
name: ruby-openai
|
133
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,9 +175,10 @@ files:
|
|
181
175
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
182
176
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
183
177
|
- ".github/auto_assign-issues.yml"
|
178
|
+
- ".github/workflows/integration.yml"
|
184
179
|
- ".github/workflows/reek.yml"
|
185
|
-
- ".github/workflows/rspec.yml"
|
186
180
|
- ".github/workflows/rubocop.yml"
|
181
|
+
- ".github/workflows/system.yml"
|
187
182
|
- ".gitignore"
|
188
183
|
- ".reek.yml"
|
189
184
|
- ".rubocop.yml"
|
@@ -277,18 +272,18 @@ files:
|
|
277
272
|
- lib/utilities/logger.rb
|
278
273
|
- lib/utilities/utilities.rb
|
279
274
|
- ruby_raider.gemspec
|
280
|
-
- spec/
|
281
|
-
- spec/
|
282
|
-
- spec/
|
283
|
-
- spec/
|
284
|
-
- spec/
|
285
|
-
- spec/
|
286
|
-
- spec/
|
287
|
-
- spec/
|
288
|
-
- spec/
|
275
|
+
- spec/integration/commands/open_ai_commands_spec.rb
|
276
|
+
- spec/integration/commands/scaffolding_commands_spec.rb
|
277
|
+
- spec/integration/commands/utility_commands_spec.rb
|
278
|
+
- spec/integration/generators/actions_generator_spec.rb
|
279
|
+
- spec/integration/generators/automation_generator_spec.rb
|
280
|
+
- spec/integration/generators/common_generator_spec.rb
|
281
|
+
- spec/integration/generators/cucumber_generator_spec.rb
|
282
|
+
- spec/integration/generators/helpers_generator_spec.rb
|
283
|
+
- spec/integration/generators/rspec_generator_spec.rb
|
289
284
|
- spec/spec_helper.rb
|
290
285
|
- spec/support/settings_helper.rb
|
291
|
-
- spec/
|
286
|
+
- spec/system/ruby_raider_spec.rb
|
292
287
|
homepage: https://github.com/RubyRaider/ruby_raider
|
293
288
|
licenses:
|
294
289
|
- MIT
|