page_object_wrapper 1.3.0 → 1.3.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.
data/.gitignore CHANGED
@@ -21,3 +21,5 @@ tmp
21
21
  .yardoc
22
22
  _yardoc
23
23
  doc/
24
+ pages/
25
+ test_spec/
@@ -45,10 +45,6 @@ module PageObjectWrapper
45
45
  raise PageObjectWrapper::Load, output.join if not output.empty?
46
46
  end
47
47
 
48
- def self.domain=val
49
- @@domain = val
50
- end
51
-
52
48
  def self.domain
53
49
  @@domain
54
50
  end
@@ -1,3 +1,4 @@
1
+ require 'active_support/inflector'
1
2
  require 'Dsl'
2
3
  require 'Exceptions'
3
4
  include PageObjectWrapper
@@ -156,8 +157,8 @@ class PageObject < DslElementWithLocator
156
157
  raise PageObjectWrapper::UnknownPageObject, label if not @@pages.collect(&:label_value).include?(label)
157
158
  page_object = PageObject.find_page_object(label)
158
159
  if not page_object.uniq_element_type.nil?
159
- watir_uniq_element = @@browser.send page_object.uniq_element_type, page_object.uniq_element_hash
160
160
  begin
161
+ watir_uniq_element = @@browser.send page_object.uniq_element_type, page_object.uniq_element_hash
161
162
  watir_uniq_element.wait_until_present UNIQ_ELEMENT_WAIT_PERIOD
162
163
  rescue Watir::Wait::TimeoutError => e
163
164
  raise PageObjectWrapper::UnmappedPageObject, "#{label} <=> #{@@browser.url} (#{e.message})" if not watir_uniq_element.present?
@@ -396,7 +397,7 @@ private
396
397
  end
397
398
  }
398
399
  else # where == nil
399
- found = t.rows.last.cells[search_for_index]
400
+ found = t.rows[t.rows.length/2].cells[search_for_index] # returning some "middle" row cell value
400
401
  end
401
402
 
402
403
  if not next_page.nil?
@@ -423,59 +424,12 @@ private
423
424
  ary.collect(&:label_value)
424
425
  end
425
426
 
426
- def has_eset?(label)
427
- labeled(@esets).include?(label.to_sym)
428
- end
429
-
430
- def has_element?(label)
431
- labeled(@elements).include?(label.to_sym)
432
- end
433
-
434
- def has_table?(label)
435
- labeled(@tables).include?(label.to_sym)
436
- end
437
-
438
- def has_pagination?(label)
439
- labeled(@paginations).include?(label.to_sym)
440
- end
441
-
442
- def has_action?(label)
443
- labeled(@actions).include?(label.to_sym)
444
- end
445
-
446
- def has_validator?(label)
447
- labeled(@validators).include?(label.to_sym)
448
- end
449
-
450
- def has_alias?(label)
451
- labeled(@aliases).include?(label.to_sym)
452
- end
453
-
454
- def eset_for(label)
455
- @esets[labeled(@esets).index(label.to_sym)]
456
- end
457
-
458
- def element_for(label)
459
- @elements[labeled(@elements).index(label.to_sym)]
460
- end
461
-
462
- def table_for(label)
463
- @tables[labeled(@tables).index(label.to_sym)]
464
- end
465
-
466
- def pagination_for(label)
467
- @paginations[labeled(@paginations).index(label.to_sym)]
468
- end
469
-
470
- def action_for(label)
471
- @actions[labeled(@actions).index(label.to_sym)]
472
- end
473
-
474
- def validator_for(label)
475
- @validators[labeled(@validators).index(label.to_sym)]
476
- end
477
-
478
- def alias_for(label)
479
- @aliases[labeled(@aliases).index(label.to_sym)]
480
- end
427
+ [:eset, :element, :table, :pagination, :action, :alias, :validator].each{|el|
428
+ PageObject.send :define_method, 'has_'+el.to_s+'?' do |label| # has_xxx?(label)
429
+ labeled(instance_variable_get("@#{el.to_s.pluralize}")).include?(label.to_sym)
430
+ end
431
+ PageObject.send :define_method, el.to_s+'_for' do |label| # xxx_for(label)
432
+ instance_variable_get("@#{el.to_s.pluralize}")[labeled(instance_variable_get("@#{el.to_s.pluralize}")).index(label.to_sym)]
433
+ end
434
+ }
481
435
  end
@@ -1,3 +1,3 @@
1
1
  module PageObjectWrapper
2
- VERSION = "1.3.0"
2
+ VERSION = "1.3.1"
3
3
  end
@@ -12,7 +12,9 @@ Gem::Specification.new do |gem|
12
12
  gem.summary = %q{Wraps watir-webdriver with convenient testing interface.}
13
13
  gem.homepage = "https://github.com/evgeniy-khatko/page_object_wrapper"
14
14
  gem.add_dependency "watir-webdriver"
15
+ gem.add_dependency "activesupport"
15
16
  gem.add_development_dependency "rspec", ">= 2.0.0"
17
+ gem.add_development_dependency "debugger"
16
18
 
17
19
  gem.files = `git ls-files`.split($/)
18
20
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -0,0 +1,27 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'page_object_wrapper/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "page_object_wrapper"
8
+ gem.version = PageObjectWrapper::VERSION
9
+ gem.authors = ["Evgeniy Khatko"]
10
+ gem.email = ["evgeniy.khatko@gmail.com"]
11
+ gem.description = %q{Wraps watir-webdriver with convenient testing interface, based on PageObjects automation testing pattern. Simplifies resulting automated test understanding.}
12
+ gem.summary = %q{Wraps watir-webdriver with convenient testing interface.}
13
+ gem.homepage = "https://github.com/evgeniy-khatko/page_object_wrapper"
14
+ gem.add_dependency "watir-webdriver"
15
+ gem.add_dependency "activesupport"
16
+ gem.add_development_dependency "rspec", ">= 2.0.0"
17
+ <<<<<<< HEAD
18
+ gem.add_development_dependency "debugger"
19
+
20
+ =======
21
+ >>>>>>> 3c944dcc705aa45b76ecda84a061beb9ee0ed4af
22
+
23
+ gem.files = `git ls-files`.split($/)
24
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
25
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
26
+ gem.require_paths = ["lib","lib/page_object_wrapper"]
27
+ end
@@ -2,7 +2,6 @@ require "page_object_wrapper"
2
2
 
3
3
  RSpec.configure do |config|
4
4
  config.before(:suite){
5
- Selenium::WebDriver::Firefox.path='/opt/firefox/firefox'
6
5
  PageObjectWrapper.load('./good_pages')
7
6
  }
8
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: page_object_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-23 00:00:00.000000000Z
12
+ date: 2012-12-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: watir-webdriver
16
- requirement: &20975200 !ruby/object:Gem::Requirement
16
+ requirement: &12728460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,21 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *20975200
24
+ version_requirements: *12728460
25
+ - !ruby/object:Gem::Dependency
26
+ name: activesupport
27
+ requirement: &12728000 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *12728000
25
36
  - !ruby/object:Gem::Dependency
26
37
  name: rspec
27
- requirement: &20999680 !ruby/object:Gem::Requirement
38
+ requirement: &12727480 !ruby/object:Gem::Requirement
28
39
  none: false
29
40
  requirements:
30
41
  - - ! '>='
@@ -32,7 +43,18 @@ dependencies:
32
43
  version: 2.0.0
33
44
  type: :development
34
45
  prerelease: false
35
- version_requirements: *20999680
46
+ version_requirements: *12727480
47
+ - !ruby/object:Gem::Dependency
48
+ name: debugger
49
+ requirement: &12727020 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *12727020
36
58
  description: Wraps watir-webdriver with convenient testing interface, based on PageObjects
37
59
  automation testing pattern. Simplifies resulting automated test understanding.
38
60
  email:
@@ -69,6 +91,7 @@ files:
69
91
  - lib/page_object_wrapper/known_elements.rb
70
92
  - lib/page_object_wrapper/version.rb
71
93
  - page_object_wrapper.gemspec
94
+ - page_object_wrapper.gemspec.orig
72
95
  - spec/define_page_object_spec.rb
73
96
  - spec/defined_elements_spec.rb
74
97
  - spec/each_page.rb