page_object_wrapper 1.3.0 → 1.3.1

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