ui_interactors 0.2.1 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5301194b640c20a9a8dd0519b9293d0454d161d7
4
- data.tar.gz: 86d09f01ed130ed1f7f82ba80c14a938b8b0bacf
3
+ metadata.gz: d3745968707f2a799e6f00dbfcbb515b082760e9
4
+ data.tar.gz: 0e6cfc22d013927d83a72c54a1bd380dbda684b1
5
5
  SHA512:
6
- metadata.gz: 0d6684ddceeb7ba11da488286009679f7fe01222eba86e2689cf07c862b3e02354481c56a491f9e7eb20520686a0eca559421199df98816ffc9a1066c7f3650f
7
- data.tar.gz: 765ad45d2cd5c075b67ab9cf25ce6b566fdfea6bef67d01cac19fae71bc24495f2939a83656250b98079b5077deb720afee20f8af193015ba7cc102666840652
6
+ metadata.gz: 84d3c480f284b67df9a9ced5fada333a10b0b596c7ef3e39a113d70579f4f95acafe3cee29fb56815e3ddd3a803dc506fda38c03a1f11ecbb7cba6975fe34cc4
7
+ data.tar.gz: 44b6a566387308cc9cff3a6f7bfa3efd44be8d701c5311f930b1441126586f4c462d58101641a5729b76ba880a88ce29f034bc9977506e4a840c95ddeecc1ae5
@@ -1,6 +1,6 @@
1
1
  require_relative 'interactors/base_interactor'
2
2
  require_relative 'interactors/action_interactor'
3
- require_relative 'interactors/element_interactor'
3
+ require_relative 'interactors/text_interactor'
4
4
  require_relative 'interactors/text_field_interactor'
5
5
  require_relative 'interactors/dropdown_field_interactor'
6
6
  require_relative 'interactors/checkbox_field_interactor'
@@ -8,11 +8,11 @@ module UiInteractors module Interactors class RowInteractor < ViewInteractor
8
8
  private
9
9
 
10
10
  def current_xpath
11
- elements = @selector_options.fetch(:elements)
11
+ elements = @selector_options.fetch(:texts)
12
12
  # row selector looks like this:
13
- # "//*[@data-element='firstName' and normalize-space(text())='John']//ancestor::*[@data-view='row']//*[@data-element='lastName' and normalize-space(text())='Miller']//ancestor::*[@data-view='row']"
13
+ # "//*[@data-text='firstName' and normalize-space(text())='John']//ancestor::*[@data-view='row']//*[@data-text='lastName' and normalize-space(text())='Miller']//ancestor::*[@data-view='row']"
14
14
  # The generated xpath traverses down into the row and then back up to the row element itself
15
- row_selector = elements.map { |key, value| "//*[@data-element='#{key}' and normalize-space(text())='#{value}']//ancestor::*[@data-view='row']" }.join
15
+ row_selector = elements.map { |key, value| "//*[@data-text='#{key}' and normalize-space(text())='#{value}']//ancestor::*[@data-view='row']" }.join
16
16
  "#{@xpath_root}//*[@data-view='row']#{row_selector}"
17
17
  end
18
18
 
@@ -1,4 +1,4 @@
1
- module UiInteractors module Interactors class ElementInteractor < BaseInteractor
1
+ module UiInteractors module Interactors class TextInteractor < BaseInteractor
2
2
 
3
3
  def initialize(driver, name, xpath_root='//*')
4
4
  super
@@ -15,7 +15,7 @@ module UiInteractors module Interactors class ElementInteractor < BaseInteractor
15
15
  private
16
16
 
17
17
  def current_xpath
18
- "#{@xpath_root}//*[@data-element='#{@name}']"
18
+ "#{@xpath_root}//*[@data-text='#{@name}']"
19
19
  end
20
20
 
21
21
  end end end
@@ -12,8 +12,8 @@ module UiInteractors module Interactors class ViewInteractor < BaseInteractor
12
12
  ActionInteractor.new(@driver, name, current_xpath)
13
13
  end
14
14
 
15
- def element(name)
16
- ElementInteractor.new(@driver, name, current_xpath)
15
+ def text(name)
16
+ TextInteractor.new(@driver, name, current_xpath)
17
17
  end
18
18
 
19
19
  def list(name)
@@ -14,7 +14,7 @@ module UiInteractors class InteractorTest < Minitest::Test
14
14
  @root_view = UiInteractors::Interactors::ViewInteractor.new(@driver)
15
15
  end
16
16
 
17
- def_delegators :root_view, :view, :action, :element, :list, :text_field, :dropdown_field, :checkbox_field
17
+ def_delegators :root_view, :view, :action, :text, :list, :text_field, :dropdown_field, :checkbox_field
18
18
 
19
19
  def provide_driver
20
20
  raise('Subclass must define `#provide_driver()`')
@@ -1,3 +1,3 @@
1
1
  module UiInteractors
2
- VERSION = '0.2.1'
2
+ VERSION = '0.3.0'
3
3
  end
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Kevin Rood"]
10
10
  spec.email = ["kevin.rood@accelecode.com"]
11
11
 
12
- spec.summary = %q{Write selenium-webdriver browser automation using a series of conventions.}
13
- spec.description = %q{Write selenium-webdriver browser automation using a series of conventions.}
12
+ spec.summary = %q{ui_interactors makes it simple to write automated browser tests using selenium-webdriver - tests which are resilient to HTML structure and style changes.}
13
+ spec.description = %q{ui_interactors makes it simple to write automated browser tests using selenium-webdriver - tests which are resilient to HTML structure and style changes.}
14
14
  spec.homepage = "https://github.com/accelecode/ui_interactors"
15
15
  spec.license = "Apache-2.0"
16
16
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ui_interactors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Rood
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-14 00:00:00.000000000 Z
11
+ date: 2017-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,7 +52,8 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.52'
55
- description: Write selenium-webdriver browser automation using a series of conventions.
55
+ description: ui_interactors makes it simple to write automated browser tests using
56
+ selenium-webdriver - tests which are resilient to HTML structure and style changes.
56
57
  email:
57
58
  - kevin.rood@accelecode.com
58
59
  executables: []
@@ -70,10 +71,10 @@ files:
70
71
  - lib/ui_interactors/interactors/base_interactor.rb
71
72
  - lib/ui_interactors/interactors/checkbox_field_interactor.rb
72
73
  - lib/ui_interactors/interactors/dropdown_field_interactor.rb
73
- - lib/ui_interactors/interactors/element_interactor.rb
74
74
  - lib/ui_interactors/interactors/list_interactor.rb
75
75
  - lib/ui_interactors/interactors/row_interactor.rb
76
76
  - lib/ui_interactors/interactors/text_field_interactor.rb
77
+ - lib/ui_interactors/interactors/text_interactor.rb
77
78
  - lib/ui_interactors/interactors/view_interactor.rb
78
79
  - lib/ui_interactors/minitest/interactor_test.rb
79
80
  - lib/ui_interactors/version.rb
@@ -102,5 +103,6 @@ rubyforge_project:
102
103
  rubygems_version: 2.6.8
103
104
  signing_key:
104
105
  specification_version: 4
105
- summary: Write selenium-webdriver browser automation using a series of conventions.
106
+ summary: ui_interactors makes it simple to write automated browser tests using selenium-webdriver
107
+ - tests which are resilient to HTML structure and style changes.
106
108
  test_files: []