selenium_fury 0.5.12 → 0.6.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.
- data/.rvmrc +2 -7
- data/Gemfile +1 -1
- data/VERSION +1 -1
- data/features/custom_generator.feature +1 -1
- data/features/generate_page_object.feature +1 -1
- data/features/step_definitions/custom_generator_steps.rb +81 -125
- data/features/step_definitions/generate_page_object_steps.rb +3 -3
- data/features/step_definitions/validate_page_object_steps.rb +4 -4
- data/features/support/env.rb +10 -4
- data/features/support/hooks.rb +2 -1
- data/features/validate_page_object.feature +3 -3
- data/lib/selenium_fury.rb +3 -4
- data/lib/selenium_fury/common/selenium_api_chooser.rb +19 -7
- data/lib/selenium_fury/selenium_client/locator_finder.rb +15 -0
- data/lib/selenium_fury/selenium_client/page_generator.rb +1 -0
- data/lib/selenium_fury/selenium_client/page_validator.rb +12 -37
- data/lib/selenium_fury/selenium_web_driver/element_finder.rb +16 -1
- data/lib/selenium_fury/selenium_web_driver/page_object.rb +2 -2
- data/lib/selenium_fury/selenium_web_driver/page_object_components.rb +1 -1
- data/spec/common/selenium_api_chooser_spec.rb +11 -11
- data/spec/selenium_client/custom_generators_spec.rb +23 -7
- data/spec/selenium_client/page_generator_spec.rb +3 -3
- data/spec/selenium_client/page_validator_spec.rb +5 -5
- data/spec/selenium_client/test_page_rc_spec.rb +14 -0
- data/spec/selenium_web_driver/element_finder_spec.rb +1 -1
- data/spec/selenium_web_driver/page_generator_spec.rb +10 -10
- data/spec/selenium_web_driver/page_object_spec.rb +69 -40
- data/spec/selenium_web_driver/page_validator_spec.rb +5 -5
- data/spec/spec_helper.rb +13 -12
- data/spec/test_page/test_page.html +70 -0
- data/spec/test_page/test_page.rb +21 -0
- data/spec/test_page/test_page_custom_generator_configuration.rb +16 -0
- data/spec/test_page/test_page_rc.rb +25 -0
- metadata +194 -181
- data/selenium_fury.gemspec +0 -118
- data/spec/selenium_client/advanced_search.rb +0 -55
- data/spec/selenium_client/advanced_search_custom_generator_configuration.rb +0 -16
- data/spec/selenium_client/advanced_search_spec.rb +0 -15
- data/spec/selenium_web_driver/advanced_search.rb +0 -47
- data/spec/selenium_web_driver/inquiry_side_bar.rb +0 -7
- data/spec/selenium_web_driver/property_page.rb +0 -3
data/spec/spec_helper.rb
CHANGED
@@ -1,20 +1,21 @@
|
|
1
|
-
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
2
|
-
$:.unshift(File.dirname(__FILE__))
|
3
|
-
|
4
1
|
require 'rubygems'
|
5
2
|
require 'bundler'
|
6
|
-
|
7
|
-
require
|
8
|
-
|
9
|
-
require "
|
10
|
-
require "
|
11
|
-
|
12
|
-
|
13
|
-
require "selenium_web_driver/property_page"
|
14
|
-
require "selenium_web_driver/advanced_search"
|
3
|
+
|
4
|
+
require 'selenium_fury'
|
5
|
+
|
6
|
+
require "test_page/test_page_custom_generator_configuration"
|
7
|
+
require "test_page/test_page_rc"
|
8
|
+
|
9
|
+
TEST_PAGE_URL="file://"+File.dirname(__FILE__) + "/test_page/test_page.html"
|
15
10
|
include SeleniumFury::SeleniumWebDriver::CreateSeleniumWebDriver
|
16
11
|
include SeleniumFury::SeleniumClient::CreateSeleniumClientDriver
|
12
|
+
|
17
13
|
RSpec.configure do |config|
|
14
|
+
config.before(:each) do
|
15
|
+
# because we use get_page_object in some of our tests, there's no guarantee that class is loaded at the
|
16
|
+
# beginning of each test. checkout massive comment in page_object_spec for more details.
|
17
|
+
load "test_page/test_page.rb"
|
18
|
+
end
|
18
19
|
config.after(:each) do
|
19
20
|
browser.close_current_browser_session unless(browser.nil? || browser.session_id.nil?)
|
20
21
|
driver.quit unless driver.nil?
|
@@ -0,0 +1,70 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>SeleniumFury Test Page</title>
|
6
|
+
<script type="text/javascript">
|
7
|
+
function displayMessage() {
|
8
|
+
document.getElementById('message').innerHTML = document.form.msgtext.value
|
9
|
+
}
|
10
|
+
</script>
|
11
|
+
</head>
|
12
|
+
<body>
|
13
|
+
|
14
|
+
<div id="message"></div>
|
15
|
+
|
16
|
+
<form id="form" name="form">
|
17
|
+
<label for="textarea">Textarea</label>
|
18
|
+
<textarea id="textarea">This is a textarea field.
|
19
|
+
</textarea>
|
20
|
+
<br/>
|
21
|
+
<label for="select">Select</label>
|
22
|
+
<select id="select">
|
23
|
+
<option value="volvo">Volvo</option>
|
24
|
+
<option value="saab">Saab</option>
|
25
|
+
<option value="mercedes">Mercedes</option>
|
26
|
+
<option value="audi">Audi</option>
|
27
|
+
</select>
|
28
|
+
<br/>
|
29
|
+
<label for="input_button">Button</label>
|
30
|
+
<input id="input_button" type="button" value="Click me"/>
|
31
|
+
<br/>
|
32
|
+
<label for="input_checkbox">Checkbox</label>
|
33
|
+
<input id="input_checkbox" type="checkbox"/>
|
34
|
+
<br/>
|
35
|
+
<label for="input_file">File</label>
|
36
|
+
<input id="input_file" type="file"/>
|
37
|
+
<br/>
|
38
|
+
<input id="input_hidden" type="hidden"/>
|
39
|
+
<br/>
|
40
|
+
<label for="input_image">Image</label>
|
41
|
+
<input id="input_image" type="image" alt="input image"/>
|
42
|
+
<br/>
|
43
|
+
<label for="input_password">Password</label>
|
44
|
+
<input id="input_password" type="password"/>
|
45
|
+
<br/>
|
46
|
+
<label for="input_radio">Radio</label>
|
47
|
+
<input id="input_radio" type="radio"/>
|
48
|
+
<br/>
|
49
|
+
<label for="input_reset">Reset</label>
|
50
|
+
<input id="input_reset" type="reset"/>
|
51
|
+
<br/>
|
52
|
+
<label for="input_submit">Submit</label>
|
53
|
+
<input id="input_submit" type="submit"/>
|
54
|
+
<br/>
|
55
|
+
<label for="input_text">Text</label>
|
56
|
+
<input id="input_text" type="text"/>
|
57
|
+
<br/>
|
58
|
+
<fieldset>
|
59
|
+
<legend>Input test:</legend>
|
60
|
+
<label for="input_message">Message Text:</label>
|
61
|
+
<input id="input_message" name="msgtext" type="text" />
|
62
|
+
<br/>
|
63
|
+
<input id="input_msg_button" type="button" value="Click me" onClick="displayMessage()"/>
|
64
|
+
</fieldset>
|
65
|
+
</form>
|
66
|
+
<a id="link111111" href="http://news.ycombinator.com/">Link 1</a>
|
67
|
+
<a id="link222222" href="http://yahoo.com">Link 2</a>
|
68
|
+
<a id="link333333" href="http://google.com">Link 3</a>
|
69
|
+
</body>
|
70
|
+
</html>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class TestPage < PageObject
|
2
|
+
element :form, {:id => "form"}
|
3
|
+
element :input_button, {:id => "input_button"}
|
4
|
+
element :input_checkbox, {:id => "input_checkbox"}
|
5
|
+
element :input_file, {:id => "input_file"}
|
6
|
+
element :input_hidden, {:id => "input_hidden"}
|
7
|
+
element :input_image, {:id => "input_image"}
|
8
|
+
element :input_message, {:id => "input_message"}
|
9
|
+
element :input_msg_button, {:id => "input_msg_button"}
|
10
|
+
element :input_password, {:id => "input_password"}
|
11
|
+
element :input_radio, {:id => "input_radio"}
|
12
|
+
element :input_reset, {:id => "input_reset"}
|
13
|
+
element :input_submit, {:id => "input_submit"}
|
14
|
+
element :input_text, {:id => "input_text"}
|
15
|
+
element :select, {:id => "select"}
|
16
|
+
element :textarea, {:id => "textarea"}
|
17
|
+
|
18
|
+
def click_check_box
|
19
|
+
input_checkbox.click
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class TestPageCustomGeneratorConfiguration
|
2
|
+
def initialize(options={})
|
3
|
+
@selector ="a"
|
4
|
+
@nokogiri_element=options[:nokogiri_element]
|
5
|
+
end
|
6
|
+
|
7
|
+
attr_accessor :selector, :nokogiri_element
|
8
|
+
|
9
|
+
def name
|
10
|
+
return nokogiri_element.text
|
11
|
+
end
|
12
|
+
|
13
|
+
def value
|
14
|
+
return nokogiri_element.get_attribute("id")
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class TestPageRc
|
2
|
+
def initialize *browser
|
3
|
+
@browser = *browser
|
4
|
+
@form = "form"
|
5
|
+
@input_button = "input_button"
|
6
|
+
@input_checkbox = "input_checkbox"
|
7
|
+
@input_file = "input_file"
|
8
|
+
@input_hidden = "input_hidden"
|
9
|
+
@input_image = "input_image"
|
10
|
+
@input_message = "input_message"
|
11
|
+
@input_msg_button = "input_msg_button"
|
12
|
+
@input_password = "input_password"
|
13
|
+
@input_radio = "input_radio"
|
14
|
+
@input_reset = "input_reset"
|
15
|
+
@input_submit = "input_submit"
|
16
|
+
@input_text = "input_text"
|
17
|
+
@select = "select"
|
18
|
+
@textarea = "textarea"
|
19
|
+
end
|
20
|
+
attr_accessor :browser, :form, :input_button, :input_checkbox, :input_file,
|
21
|
+
:input_hidden, :input_image, :input_message, :input_msg_button, :input_password,
|
22
|
+
:input_radio, :input_reset, :input_submit, :input_text, :select,
|
23
|
+
:textarea
|
24
|
+
|
25
|
+
end
|
metadata
CHANGED
@@ -1,203 +1,218 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium_fury
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 5
|
9
|
-
- 12
|
10
|
-
version: 0.5.12
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Scott Sims
|
14
9
|
- Tim Tischler
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
type: :runtime
|
23
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
|
-
requirements:
|
26
|
-
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 3
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
32
|
-
requirement: *id001
|
33
|
-
prerelease: false
|
13
|
+
date: 2012-08-24 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
34
16
|
name: selenium-webdriver
|
35
|
-
|
36
|
-
type: :runtime
|
37
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
38
18
|
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
|
44
|
-
- 0
|
45
|
-
version: "0"
|
46
|
-
requirement: *id002
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
23
|
+
type: :runtime
|
47
24
|
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
31
|
+
- !ruby/object:Gem::Dependency
|
48
32
|
name: nokogiri
|
49
|
-
|
50
|
-
type: :development
|
51
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
52
34
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
|
58
|
-
- 0
|
59
|
-
version: "0"
|
60
|
-
requirement: *id003
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
type: :runtime
|
61
40
|
prerelease: false
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
62
48
|
name: yard
|
63
|
-
|
64
|
-
type: :development
|
65
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
66
50
|
none: false
|
67
|
-
requirements:
|
68
|
-
- -
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
71
|
-
|
72
|
-
- 0
|
73
|
-
version: "0"
|
74
|
-
requirement: *id004
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
75
56
|
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
- !ruby/object:Gem::Dependency
|
76
64
|
name: jeweler
|
77
|
-
|
78
|
-
type: :development
|
79
|
-
version_requirements: &id005 !ruby/object:Gem::Requirement
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
80
66
|
none: false
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
|
86
|
-
- 0
|
87
|
-
version: "0"
|
88
|
-
requirement: *id005
|
67
|
+
requirements:
|
68
|
+
- - ! '>='
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
type: :development
|
89
72
|
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
- !ruby/object:Gem::Dependency
|
90
80
|
name: rdiscount
|
91
|
-
|
92
|
-
type: :development
|
93
|
-
version_requirements: &id006 !ruby/object:Gem::Requirement
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
94
82
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
|
100
|
-
- 2
|
101
|
-
- 7
|
102
|
-
- 0
|
103
|
-
version: 2.7.0
|
104
|
-
requirement: *id006
|
83
|
+
requirements:
|
84
|
+
- - ! '>='
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0'
|
87
|
+
type: :development
|
105
88
|
prerelease: false
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
- !ruby/object:Gem::Dependency
|
106
96
|
name: rspec
|
107
|
-
|
108
|
-
type: :development
|
109
|
-
version_requirements: &id007 !ruby/object:Gem::Requirement
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
110
98
|
none: false
|
111
|
-
requirements:
|
112
|
-
- -
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
|
115
|
-
|
116
|
-
- 0
|
117
|
-
version: "0"
|
118
|
-
requirement: *id007
|
99
|
+
requirements:
|
100
|
+
- - ! '>='
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
type: :development
|
119
104
|
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
120
112
|
name: cucumber
|
121
|
-
|
122
|
-
type: :development
|
123
|
-
version_requirements: &id008 !ruby/object:Gem::Requirement
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
124
114
|
none: false
|
125
|
-
requirements:
|
126
|
-
- -
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
|
129
|
-
|
130
|
-
- 0
|
131
|
-
version: "0"
|
132
|
-
requirement: *id008
|
115
|
+
requirements:
|
116
|
+
- - ! '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
133
120
|
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
- !ruby/object:Gem::Dependency
|
134
128
|
name: bundler
|
135
|
-
|
136
|
-
type: :development
|
137
|
-
version_requirements: &id009 !ruby/object:Gem::Requirement
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
138
130
|
none: false
|
139
|
-
requirements:
|
140
|
-
- -
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
|
143
|
-
|
144
|
-
- 0
|
145
|
-
version: "0"
|
146
|
-
requirement: *id009
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
type: :development
|
147
136
|
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
143
|
+
- !ruby/object:Gem::Dependency
|
148
144
|
name: builder
|
149
|
-
|
150
|
-
type: :development
|
151
|
-
version_requirements: &id010 !ruby/object:Gem::Requirement
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
152
146
|
none: false
|
153
|
-
requirements:
|
154
|
-
- -
|
155
|
-
- !ruby/object:Gem::Version
|
156
|
-
|
157
|
-
|
158
|
-
- 0
|
159
|
-
version: "0"
|
160
|
-
requirement: *id010
|
147
|
+
requirements:
|
148
|
+
- - ! '>='
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
type: :development
|
161
152
|
prerelease: false
|
153
|
+
version_requirements: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ! '>='
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
- !ruby/object:Gem::Dependency
|
162
160
|
name: rake
|
163
|
-
|
164
|
-
type: :development
|
165
|
-
version_requirements: &id011 !ruby/object:Gem::Requirement
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
166
162
|
none: false
|
167
|
-
requirements:
|
168
|
-
- -
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
|
171
|
-
|
172
|
-
- 0
|
173
|
-
version: "0"
|
174
|
-
requirement: *id011
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
type: :development
|
175
168
|
prerelease: false
|
169
|
+
version_requirements: !ruby/object:Gem::Requirement
|
170
|
+
none: false
|
171
|
+
requirements:
|
172
|
+
- - ! '>='
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0'
|
175
|
+
- !ruby/object:Gem::Dependency
|
176
176
|
name: faker
|
177
|
-
|
178
|
-
type: :runtime
|
179
|
-
version_requirements: &id012 !ruby/object:Gem::Requirement
|
177
|
+
requirement: !ruby/object:Gem::Requirement
|
180
178
|
none: false
|
181
|
-
requirements:
|
182
|
-
- -
|
183
|
-
- !ruby/object:Gem::Version
|
184
|
-
|
185
|
-
|
186
|
-
- 0
|
187
|
-
version: "0"
|
188
|
-
requirement: *id012
|
179
|
+
requirements:
|
180
|
+
- - ! '>='
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '0'
|
183
|
+
type: :development
|
189
184
|
prerelease: false
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
187
|
+
requirements:
|
188
|
+
- - ! '>='
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '0'
|
191
|
+
- !ruby/object:Gem::Dependency
|
190
192
|
name: nokogiri
|
191
|
-
|
193
|
+
requirement: !ruby/object:Gem::Requirement
|
194
|
+
none: false
|
195
|
+
requirements:
|
196
|
+
- - ! '>='
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '0'
|
199
|
+
type: :runtime
|
200
|
+
prerelease: false
|
201
|
+
version_requirements: !ruby/object:Gem::Requirement
|
202
|
+
none: false
|
203
|
+
requirements:
|
204
|
+
- - ! '>='
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
207
|
+
description: Generate and validate page objects with this page object factory for
|
208
|
+
Selenium.
|
192
209
|
email: ssims98@gmail.com
|
193
210
|
executables: []
|
194
|
-
|
195
211
|
extensions: []
|
196
|
-
|
197
|
-
extra_rdoc_files:
|
212
|
+
extra_rdoc_files:
|
198
213
|
- LICENSE
|
199
214
|
- README.md
|
200
|
-
files:
|
215
|
+
files:
|
201
216
|
- .rvmrc
|
202
217
|
- Changelog.md
|
203
218
|
- Gemfile
|
@@ -227,56 +242,54 @@ files:
|
|
227
242
|
- lib/selenium_fury/selenium_web_driver/page_object.rb
|
228
243
|
- lib/selenium_fury/selenium_web_driver/page_object_components.rb
|
229
244
|
- lib/selenium_fury/selenium_web_driver/page_validator.rb
|
230
|
-
- selenium_fury.gemspec
|
231
245
|
- spec/common/page_parser_spec.rb
|
232
246
|
- spec/common/selenium_api_chooser_spec.rb
|
233
|
-
- spec/selenium_client/advanced_search.rb
|
234
|
-
- spec/selenium_client/advanced_search_custom_generator_configuration.rb
|
235
|
-
- spec/selenium_client/advanced_search_spec.rb
|
236
247
|
- spec/selenium_client/custom_generators_spec.rb
|
237
248
|
- spec/selenium_client/locator_finder_spec.rb
|
238
249
|
- spec/selenium_client/page_generator_spec.rb
|
239
250
|
- spec/selenium_client/page_validator_spec.rb
|
240
|
-
- spec/
|
251
|
+
- spec/selenium_client/test_page_rc_spec.rb
|
241
252
|
- spec/selenium_web_driver/element_finder_spec.rb
|
242
|
-
- spec/selenium_web_driver/inquiry_side_bar.rb
|
243
253
|
- spec/selenium_web_driver/page_generator_spec.rb
|
244
254
|
- spec/selenium_web_driver/page_object_spec.rb
|
245
255
|
- spec/selenium_web_driver/page_validator_spec.rb
|
246
|
-
- spec/selenium_web_driver/property_page.rb
|
247
256
|
- spec/spec_helper.rb
|
257
|
+
- spec/test_page/test_page.html
|
258
|
+
- spec/test_page/test_page.rb
|
259
|
+
- spec/test_page/test_page_custom_generator_configuration.rb
|
260
|
+
- spec/test_page/test_page_rc.rb
|
248
261
|
homepage: https://github.com/scottcsims/SeleniumFury
|
249
262
|
licenses: []
|
250
|
-
|
251
263
|
post_install_message:
|
252
264
|
rdoc_options: []
|
253
|
-
|
254
|
-
require_paths:
|
265
|
+
require_paths:
|
255
266
|
- lib
|
256
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
267
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
257
268
|
none: false
|
258
|
-
requirements:
|
259
|
-
- -
|
260
|
-
- !ruby/object:Gem::Version
|
261
|
-
|
262
|
-
segments:
|
269
|
+
requirements:
|
270
|
+
- - ! '>='
|
271
|
+
- !ruby/object:Gem::Version
|
272
|
+
version: '0'
|
273
|
+
segments:
|
263
274
|
- 0
|
264
|
-
|
265
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
275
|
+
hash: -3785913807508317413
|
276
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
266
277
|
none: false
|
267
|
-
requirements:
|
268
|
-
- -
|
269
|
-
- !ruby/object:Gem::Version
|
270
|
-
|
271
|
-
segments:
|
272
|
-
- 0
|
273
|
-
version: "0"
|
278
|
+
requirements:
|
279
|
+
- - ! '>='
|
280
|
+
- !ruby/object:Gem::Version
|
281
|
+
version: '0'
|
274
282
|
requirements: []
|
275
|
-
|
276
283
|
rubyforge_project:
|
277
284
|
rubygems_version: 1.8.24
|
278
285
|
signing_key:
|
279
286
|
specification_version: 3
|
280
|
-
summary: Selenium Fury allows an automated tester to quickly build page files to use
|
287
|
+
summary: Selenium Fury allows an automated tester to quickly build page files to use
|
288
|
+
in the page object pattern. Each page file represents a page under test with attributes
|
289
|
+
of all the locators selenium needs to run tests on the page and methods that represent
|
290
|
+
actions that can be performed on the page. You use the generator to build the page
|
291
|
+
files. After the page has been updated you can use the validator to go through all
|
292
|
+
of the selenium locators you are using in your page file and return a list of the
|
293
|
+
locators that it could not find. If there are missing locators you can then rerun
|
294
|
+
the generator to generate new selenium locators for your page. http://www.scottcsims.com
|
281
295
|
test_files: []
|
282
|
-
|