ui_interactors 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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: []