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 +2 -0
- data/lib/page_object_wrapper.rb +0 -4
- data/lib/page_object_wrapper/PageObject.rb +11 -57
- data/lib/page_object_wrapper/version.rb +1 -1
- data/page_object_wrapper.gemspec +2 -0
- data/page_object_wrapper.gemspec.orig +27 -0
- data/spec/spec_helper.rb +0 -1
- metadata +29 -6
data/.gitignore
CHANGED
data/lib/page_object_wrapper.rb
CHANGED
@@ -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.
|
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
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
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
|
data/page_object_wrapper.gemspec
CHANGED
@@ -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
|
data/spec/spec_helper.rb
CHANGED
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.
|
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-
|
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: &
|
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: *
|
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: &
|
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: *
|
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
|