ruby_raider 0.9.0 → 0.9.2

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: cbe1cdaadd5277a886b3e916c4de3f9982eb362252283f9403bbe2905df995b5
4
- data.tar.gz: e16f7436c7c9f558c751f404428e9494e608da7e6deb8117f1b9a6692720a942
3
+ metadata.gz: 4a195c4ae16c35cc3fe907ad4d309449e4aa38753320ef06a882a4422fd54339
4
+ data.tar.gz: 48cd2a4c47981ed649f42baa34502741c3bfda8f6cea9f6e2f0b1789ed59341d
5
5
  SHA512:
6
- metadata.gz: 4a97554b9b58002bce11b76c44f42710238b8e53dd2879fb677cae9cc87356190e2395369d1c2ae431a27e5d1d372f17d8a8cc563965a6bc1fb354b71ead6979
7
- data.tar.gz: cabae226fd5666bbc9a3f2e10aff32f5bd4faa7712a9aefce7e9e81d87c26a454500af69993c527e33886daa6e622eb08ce49b428322b00fbe0e4bf3a5b34f7d
6
+ metadata.gz: cbfcfdf432d0811a7609a951a289bbe29e107ecc9eeb21f6f8085f437452a42d8a7c9cdc4166c2de962c1fa23c50968f250176a4f5e49561b59d69e6bd037241
7
+ data.tar.gz: 497eed25469773c0cd5345a068428ddf0a1cb5cdd34c952e6ae41f789da41f86e74ec789c31d6d3eadddf574769a655e555efcaa6f7e0ddd771b71ba468525f7
@@ -0,0 +1,42 @@
1
+ name: BrowserStack Test
2
+ on: [ pull_request ]
3
+
4
+ jobs:
5
+ ubuntu-job:
6
+ name: BrowserStack Test on Ubuntu
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - name: BrowserStack Env Setup
10
+ uses: browserstack/github-actions/setup-env@master
11
+ with:
12
+ username: ${{ secrets.BROWSERSTACK_USERNAME }}
13
+ access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
14
+ build-name: BUILD_INFO
15
+ project-name: REPO_NAME
16
+ - name: BrowserStackLocal Setup
17
+ uses: browserstack/github-actions/setup-local@master
18
+ with:
19
+ local-testing: start
20
+
21
+
22
+ - name: Checkout the repository
23
+ uses: actions/checkout@v2
24
+
25
+ - name: Set up Ruby
26
+ uses: ruby/setup-ruby@f20f1eae726df008313d2e0d78c5e602562a1bcf
27
+ with:
28
+ ruby-version: head
29
+
30
+ - name: Install gems
31
+ run: bundle install
32
+
33
+ - name: Create Raider framework
34
+ run: bin/raider new rspec_watir -p framework:rspec automation:watir visual:false axe:true
35
+
36
+ - name: Run Raider tests
37
+ run: cd rspec_selenium && bundle install && raider utility browser_options chrome headless && rspec spec/
38
+
39
+ - name: BrowserStackLocal Stop
40
+ uses: browserstack/github-actions/setup-local@master
41
+ with:
42
+ local-testing: stop
@@ -30,13 +30,15 @@ class Page
30
30
  self.class.to_s.sub('Page', ' Page')
31
31
  end
32
32
 
33
+ <%- if automation == 'selenium' -%>
33
34
  # Components
34
35
 
35
- <%- if automation == 'selenium' -%>
36
36
  def header
37
37
  Header.new(driver.find_element(id: 'customer_menu_top'))
38
38
  end
39
39
  <%- elsif automation == 'watir' -%>
40
+ # Components
41
+
40
42
  def header
41
43
  Header.new(browser.element(id: 'customer_menu_top'))
42
44
  end
@@ -4,4 +4,4 @@ appium:options:
4
4
  platformVersion: '12'
5
5
  automationName: UiAutomator2
6
6
  deviceName: Pixel 3 API 32
7
- app: "Android-MyDemoAppRN.1.3.0.build-244.apk"
7
+ app: Android-MyDemoAppRN.1.3.0.build-244.apk
@@ -4,12 +4,12 @@ android:
4
4
  platformVersion: '12'
5
5
  automationName: UiAutomator2
6
6
  deviceName: Pixel 3 API 32
7
- app: "Android-MyDemoAppRN.1.3.0.build-244.apk"
7
+ app: Android-MyDemoAppRN.1.3.0.build-244.apk
8
8
  ios:
9
9
  platformName: iOS
10
10
  appium:options:
11
- platformVersion: "14.0"
12
- deviceName: iPhone 11
11
+ platformVersion: '17.0'
12
+ deviceName: iPhone 15
13
13
  automationName: XCUITest
14
- app: "MyRNDemoApp.app"
14
+ app: MyRNDemoApp.app
15
15
  autoDismissAlerts: true
@@ -1,8 +1,8 @@
1
- <% if automation == 'ios' -%>
1
+ <%- if automation == 'ios' -%>
2
2
  driver.find_element(predicate: 'label == "Sauce Labs Backpack"')
3
- <% elsif automation == 'android' -%>
3
+ <%- elsif automation == 'android' -%>
4
4
  driver.find_element(xpath: '(//android.view.ViewGroup[@content-desc="store item"])[1]/android.view.ViewGroup[1]')
5
- <% else -%>
5
+ <%- else -%>
6
6
  element(ios: { predicate: 'label == "Sauce Labs Backpack"' },
7
7
  android: { xpath: '(//android.view.ViewGroup[@content-desc="store item"])[1]/android.view.ViewGroup[1]' })
8
- <% end -%>
8
+ <%- end -%>
@@ -1,8 +1,8 @@
1
1
  platformName: iOS
2
2
  appium:options:
3
3
  url: http://localhost:4723/wd/hub
4
- platformVersion: "14.0"
5
- deviceName: iPhone 11
4
+ platformVersion: '17.0'
5
+ deviceName: iPhone 15
6
6
  automationName: XCUITest
7
- app: "MyRNDemoApp.app"
7
+ app: MyRNDemoApp.app
8
8
  autoDismissAlerts: true
@@ -1,8 +1,8 @@
1
- <% if automation == 'ios' -%>
1
+ <%- if automation == 'ios' -%>
2
2
  driver.find_element(accessibility_id: 'Add To Cart button')
3
- <% elsif automation == 'android' -%>
3
+ <%- elsif automation == 'android' -%>
4
4
  driver.find_element(xpath: '//android.view.ViewGroup[@content-desc="Add To Cart button"]/android.widget.TextView')
5
- <% else -%>
5
+ <%- else -%>
6
6
  element(ios: { accessibility_id: 'Add To Cart button' },
7
7
  android: { xpath: '//android.view.ViewGroup[@content-desc="Add To Cart button"]/android.widget.TextView' })
8
- <% end -%>
8
+ <%- end -%>
@@ -42,20 +42,13 @@ module DriverHelper
42
42
  @driver ||= create_driver(browser, js_path, skip_iframes)
43
43
  end
44
44
  <% else -%>
45
- def driver
46
- @driver ||= create_driver
45
+ def driver
46
+ @driver ||= create_driver
47
47
  end
48
48
  <%- end -%>
49
49
 
50
50
  private
51
51
 
52
52
  <%= ERB.new(File.read(File.expand_path('./partials/driver_and_options.tt', __dir__)), trim_mode: '-').result(binding).strip! %>
53
-
54
- <%- if automation != 'selenium' -%>
55
- # :reek:UtilityFunction
56
- def caps
57
- YAML.load_file('config/capabilities.yml')
58
- end
59
- <%- end -%>
60
53
  end
61
54
  <%- end -%>
@@ -31,15 +31,39 @@
31
31
  end
32
32
  <% elsif automation == 'cross_platform' -%>
33
33
  def create_driver
34
- platform = config['platform'].to_s
35
- @driver = Appium::Driver.new({ caps: caps[platform] })
34
+ @driver = Appium::Driver.new({ caps: parsed_caps })
36
35
  end
37
36
 
38
- def config
39
- YAML.load_file('config/config.yml')
37
+ def platform
38
+ @platform ||= YAML.load_file('config/config.yml')['platform'].to_s
39
+ end
40
+
41
+ def platform_caps
42
+ @platform_caps ||= YAML.load_file('config/capabilities.yml')[platform]
43
+ end
44
+
45
+ # :reek:UtilityFunction
46
+ def parsed_caps
47
+ platform_caps['appium:options']['app'] = parse_app_path(platform_caps['appium:options']['app'])
48
+ platform_caps
49
+ end
50
+
51
+ def parse_app_path(path)
52
+ File.expand_path(path, Dir.pwd)
40
53
  end
41
54
  <% else -%>
42
55
  def create_driver
43
- @driver = Appium::Driver.new({ caps: caps })
56
+ @driver = Appium::Driver.new({ caps: parsed_caps })
57
+ end
58
+
59
+ # :reek:UtilityFunction
60
+ def parsed_caps
61
+ caps = YAML.load_file('config/capabilities.yml')
62
+ caps['appium:options']['app'] = app_path(caps['appium:options']['app'])
63
+ caps
64
+ end
65
+
66
+ def app_path(path)
67
+ File.expand_path(path, Dir.pwd)
44
68
  end
45
69
  <% end -%>
@@ -44,7 +44,8 @@ module Utilities
44
44
  def browser_options=(*opts)
45
45
  args = opts.flatten
46
46
  browser_args = config['browser_arguments']
47
- browser_args[args.first&.to_sym] = browser_args + args[1..]
47
+ browser = args.first&.to_sym
48
+ browser_args[browser] = browser_args[browser] + args[1..]
48
49
  overwrite_yaml
49
50
  end
50
51
 
data/lib/version CHANGED
@@ -1 +1 @@
1
- 0.9.0
1
+ 0.9.2
data/ruby_raider.gemspec CHANGED
@@ -13,7 +13,6 @@ Gem::Specification.new do |s|
13
13
  s.files = `git ls-files -z`.split("\x0")
14
14
  s.bindir = 'bin'
15
15
  s.executables << 'raider'
16
- s.add_development_dependency 'dotenv', '~> 2.8'
17
16
  s.add_development_dependency 'rake', '~> 13.0.6'
18
17
  s.add_development_dependency 'reek', '~> 6.1.0'
19
18
  s.add_development_dependency 'rspec', '~> 3.11.0'
@@ -1,4 +1,3 @@
1
- require 'dotenv'
2
1
  require 'pathname'
3
2
  require 'yaml'
4
3
  require_relative '../../../lib/generators/common_generator'
@@ -1,4 +1,3 @@
1
- require 'dotenv'
2
1
  require 'fileutils'
3
2
  require 'pathname'
4
3
  require 'yaml'
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_raider
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Agustin Pequeno
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-29 00:00:00.000000000 Z
11
+ date: 2024-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: dotenv
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.8'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '2.8'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rake
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -151,6 +137,7 @@ files:
151
137
  - ".github/workflows/push_gem.yml"
152
138
  - ".github/workflows/reek.yml"
153
139
  - ".github/workflows/rspec_selenium.yml"
140
+ - ".github/workflows/rspec_watir.yml"
154
141
  - ".github/workflows/rubocop.yml"
155
142
  - ".gitignore"
156
143
  - ".reek.yml"
@@ -275,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
275
262
  - !ruby/object:Gem::Version
276
263
  version: '0'
277
264
  requirements: []
278
- rubygems_version: 3.5.0.dev
265
+ rubygems_version: 3.5.15
279
266
  signing_key:
280
267
  specification_version: 4
281
268
  summary: A gem to make setup and start of UI automation projects easier