ruby_raider 0.8.0 → 0.8.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5dd7827d45155a3d24655334c4c43a818812cc541fd76955c57d7588bfe3cbdc
4
- data.tar.gz: 99da1055ac90cf2787ddffe02cba3afe2a653fbc41adca96f376d00de21b3f05
3
+ metadata.gz: e2baf71e8ae4c89c2a2d8065d9c8e5dd1b295b9efcb53d1ecd1e9732b7bc3149
4
+ data.tar.gz: 51277d989955c36486496791c86556eadee9ccba99859b4bf521c178cecd60fa
5
5
  SHA512:
6
- metadata.gz: f37c2a6ef6760ef66cf2cbb1f4e936205ba042cff82ab7a213cb3334a64b27624f41dfcb40dd8fc0095ebc29a50e61f127277ae8f90b533dfd3c4cc53f442ab4
7
- data.tar.gz: 76504d52c72488dd6f4cd305424b3796e4a8108b5a516e1c90652a568ad481d443dca30325d7600b0e41b3f367b736368f5782ca5e985502e6dfcaa2427c6035
6
+ metadata.gz: 066b4da6d3042c898a0468e293e7539fed2643cb6f09444e07033df2b96baab16dccafac4037e9d86f4f49bbd4d14b01003ee2cb93f370c663ac7a2d2e6033a9
7
+ data.tar.gz: b9b4c25a4c895328c016c917a9bd67f0773a9c7afa1c420f9740183ecf9554c73831b690393cfdcbafe8c0d107d1852a878634ffbd6eb19516aff6307d543c97
@@ -36,11 +36,11 @@ class AutomationGenerator < Generator
36
36
  end
37
37
 
38
38
  def generate_abstract_page
39
- template('abstract_page.tt', "#{name}/page_objects/abstract/abstract_page.rb")
39
+ template('page.tt', "#{name}/page_objects/abstract/page.rb")
40
40
  end
41
41
 
42
42
  def generate_abstract_component
43
- template('abstract_component.tt', "#{name}/page_objects/abstract/abstract_component.rb")
43
+ template('component.tt', "#{name}/page_objects/abstract/component.rb")
44
44
  end
45
45
 
46
46
  def generate_appium_settings
@@ -54,23 +54,23 @@ class AutomationGenerator < Generator
54
54
  end
55
55
 
56
56
  def generate_login_page
57
- template('login_page.tt', "#{name}/page_objects/pages/login_page.rb")
57
+ template('login.tt', "#{name}/page_objects/pages/login.rb")
58
58
  end
59
59
 
60
60
  def generate_account_page
61
- template('account_page.tt', "#{name}/page_objects/pages/account_page.rb")
61
+ template('account.tt', "#{name}/page_objects/pages/account.rb")
62
62
  end
63
63
 
64
64
  def generate_home_page
65
- template('home_page.tt', "#{name}/page_objects/pages/home_page.rb")
65
+ template('home.tt', "#{name}/page_objects/pages/home.rb")
66
66
  end
67
67
 
68
68
  def generate_pdp_page
69
- template('pdp_page.tt', "#{name}/page_objects/pages/pdp_page.rb")
69
+ template('pdp.tt', "#{name}/page_objects/pages/pdp.rb")
70
70
  end
71
71
 
72
72
  def generate_header_component
73
- template('component.tt', "#{name}/page_objects/components/header.rb")
73
+ template('header.tt', "#{name}/page_objects/components/header.rb")
74
74
  end
75
75
 
76
76
  def generate_model_factory
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../abstract/abstract_component'
3
+ class Component
4
+ attr_reader :component
4
5
 
5
- class Header < AbstractComponent
6
- def customer_name
7
- component.text
6
+ def initialize(component)
7
+ @component = component
8
8
  end
9
9
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../abstract/component'
4
+
5
+ class Header < Component
6
+ def customer_name
7
+ component.text
8
+ end
9
+ end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../abstract/abstract_page'
3
+ require_relative '../abstract/page'
4
4
  <%- if automation == 'sparkling_ios' -%>
5
- class HomePage < AbstractPage
5
+ class Home < Page
6
6
 
7
7
  # Actions
8
8
 
@@ -19,7 +19,7 @@ class HomePage < AbstractPage
19
19
  end
20
20
  end
21
21
  <%- else -%>
22
- class HomePage < AbstractPage
22
+ class Home < Page
23
23
 
24
24
  # Actions
25
25
 
@@ -0,0 +1,45 @@
1
+ <%- if automation == 'sparkling_ios' -%>
2
+ require 'sparkling_watir/element'
3
+
4
+ class Page
5
+
6
+ attr_reader :app
7
+
8
+ def initialize(app)
9
+ @app = app
10
+ end
11
+
12
+ def to_s
13
+ self.class.to_s.sub('Page', ' Page')
14
+ end
15
+ end
16
+ <%- else -%>
17
+ <%- if web? -%>
18
+ require_relative '../components/header'
19
+ <%- end -%>
20
+
21
+ class Page
22
+ <%- if automation == 'cross_platform' -%>
23
+ include AppiumHelper
24
+ <%- end -%>
25
+ <%=- ERB.new(File.read(File.expand_path('./partials/initialize_selector.tt', __dir__))).result(binding) -%>
26
+ <%=- ERB.new(File.read(File.expand_path('./partials/visit_method.tt', __dir__))).result(binding) -%>
27
+ <%=- ERB.new(File.read(File.expand_path('./partials/url_methods.tt', __dir__))).result(binding) -%>
28
+
29
+ def to_s
30
+ self.class.to_s.sub('Page', ' Page')
31
+ end
32
+
33
+ # Components
34
+
35
+ <%- if automation == 'selenium' -%>
36
+ def header
37
+ Header.new(driver.find_element(id: 'customer_menu_top'))
38
+ end
39
+ <%- elsif automation == 'watir' -%>
40
+ def header
41
+ Header.new(browser.element(id: 'customer_menu_top'))
42
+ end
43
+ <%- end -%>
44
+ end
45
+ <%- end -%>
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../abstract/abstract_page'
3
+ require_relative '../abstract/page'
4
4
 
5
- class AccountPage < AbstractPage
5
+ class Account < Page
6
6
  def url(_page)
7
7
  'index.php?rt=account/account'
8
8
  end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../abstract/abstract_page'
3
+ require_relative '../abstract/page'
4
4
 
5
- class LoginPage < AbstractPage
5
+ class Login < Page
6
6
  def url(_page)
7
7
  'index.php?rt=account/login'
8
8
  end
@@ -1,6 +1,6 @@
1
- require_relative '../abstract/abstract_page'
1
+ require_relative '../abstract/page'
2
2
 
3
- class AccountPage < AbstractPage
3
+ class Account < Page
4
4
  def url(_page)
5
5
  'index.php?rt=account/account'
6
6
  end
@@ -1,6 +1,7 @@
1
- require_relative '../abstract/abstract_page'
1
+ require_relative '../abstract/page'
2
+
3
+ class Login < Page
2
4
 
3
- class LoginPage < AbstractPage
4
5
  def url(_page)
5
6
  'index.php?rt=account/login'
6
7
  end
@@ -1,6 +1,6 @@
1
- require_relative '../abstract/abstract_page'
1
+ require_relative '../abstract/page'
2
2
  <%- if automation == 'sparkling_ios' -%>
3
- class PdpPage < AbstractPage
3
+ class Pdp < Page
4
4
 
5
5
  # Actions
6
6
 
@@ -18,7 +18,7 @@ class PdpPage < AbstractPage
18
18
  end
19
19
  <%- else -%>
20
20
 
21
- class PdpPage < AbstractPage
21
+ class Pdp < Page
22
22
 
23
23
  # Actions
24
24
 
@@ -1,11 +1,11 @@
1
1
  <%- if automation == 'sparkling_ios' -%>
2
2
  # frozen_string_literal: true
3
3
 
4
- require_relative '../../page_objects/pages/home_page'
5
- require_relative '../../page_objects/pages/pdp_page'
4
+ require_relative '../../page_objects/pages/home'
5
+ require_relative '../../page_objects/pages/pdp'
6
6
 
7
7
  Given("I'm an anonymous user on the home page") do
8
- @home_page = HomePage.new(app)
8
+ @home_page = Home.new(app)
9
9
  end
10
10
 
11
11
  When('I select one of the products') do
@@ -13,7 +13,7 @@ When('I select one of the products') do
13
13
  end
14
14
 
15
15
  When("I'm redirected to the product details page") do
16
- pdp_page = PdpPage.new(app)
16
+ pdp_page = Pdp.new(app)
17
17
  expect(pdp_page.add_to_cart_text).to eq 'Add To Cart'
18
18
  end
19
19
  <%- else -%>
@@ -23,7 +23,7 @@ require_relative '../../page_objects/pages/home_page'
23
23
  require_relative '../../page_objects/pages/pdp_page'
24
24
 
25
25
  Given("I'm an anonymous user on the home page") do
26
- @home_page = HomePage.new(driver)
26
+ @home_page = Home.new(driver)
27
27
  end
28
28
 
29
29
  When('I select one of the products') do
@@ -31,7 +31,7 @@ When('I select one of the products') do
31
31
  end
32
32
 
33
33
  When("I'm redirected to the product details page") do
34
- pdp_page = PdpPage.new(driver)
34
+ pdp_page = Pdp.new(driver)
35
35
  expect(pdp_page.add_to_cart_text).to eq 'Add To Cart'
36
36
  end
37
37
  <%- end -%>
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../../page_objects/pages/account_page'
4
- require_relative '../../page_objects/pages/login_page'
3
+ require_relative '../../page_objects/pages/account'
4
+ require_relative '../../page_objects/pages/login'
5
5
 
6
6
  Given("I'm a {user} on the login page") do |user|
7
7
  @user = user
8
- @login_page = LoginPage.new(<% if automation == 'watir' %>browser<% else %>driver<% end %>)
8
+ @login_page = Login.new(<% if automation == 'watir' %>browser<% else %>driver<% end %>)
9
9
  @login_page.visit
10
10
  end
11
11
 
@@ -14,7 +14,7 @@ When('I login with my credentials') do
14
14
  end
15
15
 
16
16
  Then("I'm logged in") do
17
- account_page = AccountPage.new(<% if automation == 'watir' %>browser<% else %>driver<% end %>)
17
+ account_page = Account.new(<% if automation == 'watir' %>browser<% else %>driver<% end %>)
18
18
  <%- if visual_automation == true -%>
19
19
  check_page account_page
20
20
  <%- else -%>
@@ -3,15 +3,15 @@
3
3
 
4
4
  require_relative '../helpers/spec_helper'
5
5
  require_relative '../models/model_factory'
6
- require_relative '../page_objects/pages/account_page'
7
- require_relative '../page_objects/pages/login_page'
6
+ require_relative '../page_objects/pages/account'
7
+ require_relative '../page_objects/pages/login'
8
8
 
9
9
  describe 'Login' do
10
10
  subject(:header) { account_page.header.customer_name }
11
11
 
12
12
  let(:user) { ModelFactory.for('users')['registered user'] }
13
- let(:login_page) { LoginPage.new(<% if automation == 'watir' -%>browser<% else -%>driver<% end -%>) }
14
- let(:account_page) { AccountPage.new(<% if automation == 'watir' -%>browser<% else -%>driver<% end -%>) }
13
+ let(:login_page) { Login.new(<% if automation == 'watir' -%>browser<% else -%>driver<% end -%>) }
14
+ let(:account_page) { Account.new(<% if automation == 'watir' -%>browser<% else -%>driver<% end -%>) }
15
15
 
16
16
  before do
17
17
  login_page.visit
@@ -37,21 +37,21 @@ describe 'Login' do
37
37
  <%- if visual_automation == true -%>
38
38
  check_page login_page
39
39
  <%- else -%>
40
- expect(header).to eql 'Login or register'
40
+ expect(header).to eq 'Login or register'
41
41
  <%- end -%>
42
42
  end
43
43
  end
44
44
  end
45
45
  <%- elsif automation == 'sparkling_ios' -%>
46
46
  require_relative '../helpers/spec_helper'
47
- require_relative '../page_objects/pages/home_page'
48
- require_relative '../page_objects/pages/pdp_page'
47
+ require_relative '../page_objects/pages/home'
48
+ require_relative '../page_objects/pages/pdp'
49
49
 
50
50
  class PdpSpec
51
51
  describe 'PDP page' do
52
52
 
53
- let(:home_page) { HomePage.new(app) }
54
- let(:pdp_page) { PdpPage.new(app) }
53
+ let(:home_page) { Home.new(app) }
54
+ let(:pdp_page) { Pdp.new(app) }
55
55
 
56
56
  it 'shows add to cart button' do
57
57
  home_page.go_to_backpack_pdp
@@ -61,14 +61,14 @@ class PdpSpec
61
61
  end
62
62
  <%- else -%>
63
63
  require_relative '../helpers/spec_helper'
64
- require_relative '../page_objects/pages/home_page'
65
- require_relative '../page_objects/pages/pdp_page'
64
+ require_relative '../page_objects/pages/home'
65
+ require_relative '../page_objects/pages/pdp'
66
66
 
67
67
  class PdpSpec
68
- describe 'PDP page' do
68
+ describe 'PDP' do
69
69
 
70
- let(:home_page) { HomePage.new(driver) }
71
- let(:pdp_page) { PdpPage.new(driver) }
70
+ let(:home_page) { Home.new(driver) }
71
+ let(:pdp_page) { Pdp.new(driver) }
72
72
 
73
73
  it 'shows add to cart button' do
74
74
  home_page.go_to_backpack_pdp
@@ -58,7 +58,7 @@ module SpecHelper
58
58
  config.after(:each) do
59
59
  example_name = self.class.descendant_filtered_examples.first.description
60
60
  <%= ERB.new(File.read(File.expand_path('./partials/screenshot.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
61
- AllureHelper.add_screenshot example_name
61
+ AllureHelper.add_screenshot example_name
62
62
  <%= ERB.new(File.read(File.expand_path('./partials/quit_driver.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
63
63
  end
64
64
  end
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 'The Ruby Raider version is 0.8.0, Happy testing!'
22
+ puts 'The Ruby Raider version is 0.8.1, Happy testing!'
23
23
  end
24
24
 
25
25
  map 'v' => '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.8.0'
5
+ s.version = '0.8.1'
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']
@@ -18,7 +18,7 @@ describe AutomationGenerator do
18
18
  end
19
19
 
20
20
  it 'creates a component file' do
21
- expect(File).to exist("#{name}/page_objects/components/header.rb")
21
+ expect(File).to exist("#{name}/page_objects/components/header_component.rb")
22
22
  end
23
23
  end
24
24
 
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.0
4
+ version: 0.8.1
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-09-17 00:00:00.000000000 Z
11
+ date: 2023-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
@@ -200,13 +200,13 @@ files:
200
200
  - lib/generators/actions/actions_generator.rb
201
201
  - lib/generators/actions/templates/actions.tt
202
202
  - lib/generators/automation/automation_generator.rb
203
- - lib/generators/automation/templates/abstract_component.tt
204
- - lib/generators/automation/templates/abstract_page.tt
205
- - lib/generators/automation/templates/account_page.tt
203
+ - lib/generators/automation/templates/account.tt
206
204
  - lib/generators/automation/templates/appium_caps.tt
207
205
  - lib/generators/automation/templates/component.tt
208
- - lib/generators/automation/templates/home_page.tt
209
- - lib/generators/automation/templates/login_page.tt
206
+ - lib/generators/automation/templates/header.tt
207
+ - lib/generators/automation/templates/home.tt
208
+ - lib/generators/automation/templates/login.tt
209
+ - lib/generators/automation/templates/page.tt
210
210
  - lib/generators/automation/templates/partials/android_caps.tt
211
211
  - lib/generators/automation/templates/partials/cross_platform_caps.tt
212
212
  - lib/generators/automation/templates/partials/element.tt
@@ -220,7 +220,7 @@ files:
220
220
  - lib/generators/automation/templates/partials/visit_method.tt
221
221
  - lib/generators/automation/templates/partials/watir_account.tt
222
222
  - lib/generators/automation/templates/partials/watir_login.tt
223
- - lib/generators/automation/templates/pdp_page.tt
223
+ - lib/generators/automation/templates/pdp.tt
224
224
  - lib/generators/automation/templates/visual_options.tt
225
225
  - lib/generators/common_generator.rb
226
226
  - lib/generators/cucumber/cucumber_generator.rb
@@ -308,7 +308,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
308
308
  - !ruby/object:Gem::Version
309
309
  version: '0'
310
310
  requirements: []
311
- rubygems_version: 3.4.17
311
+ rubygems_version: 3.4.19
312
312
  signing_key:
313
313
  specification_version: 4
314
314
  summary: A gem to make setup and start of UI automation projects easier
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class AbstractComponent
4
- attr_reader :component
5
-
6
- def initialize(component)
7
- @component = component
8
- end
9
- end
@@ -1,47 +0,0 @@
1
- <%- if automation == 'sparkling_ios' -%>
2
- require 'sparkling_watir/element'
3
-
4
- class AbstractPage
5
-
6
- attr_reader :app
7
-
8
- def initialize(app)
9
- @app = app
10
- end
11
-
12
- def to_s
13
- self.class.to_s.sub('Page', ' Page')
14
- end
15
- end
16
- <%- else -%>
17
- <% if web? -%>
18
- require_relative '../components/header'
19
- <% end -%>
20
-
21
- class AbstractPage
22
-
23
- <%- if automation == 'cross_platform' -%>
24
- include AppiumHelper
25
- <%- end -%>
26
- <%= ERB.new(File.read(File.expand_path('./partials/initialize_selector.tt', __dir__))).result(binding) -%>
27
- <%= ERB.new(File.read(File.expand_path('./partials/visit_method.tt', __dir__))).result(binding) -%>
28
- <%= ERB.new(File.read(File.expand_path('./partials/url_methods.tt', __dir__))).result(binding) -%>
29
-
30
- <%- if automation == 'selenium' -%>
31
- # Components
32
-
33
- def header
34
- Header.new(driver.find_element(id: 'customernav'))
35
- end
36
- <%- elsif automation == 'watir' -%>
37
- # Components
38
-
39
- def header
40
- Header.new(browser.element(id: 'customernav'))
41
- end
42
- <%- end -%>
43
- def to_s
44
- self.class.to_s.sub('Page', ' Page')
45
- end
46
- end
47
- <%- end -%>