web4cucumber 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/lib/web4cucumber/version.rb +1 -1
- data/lib/web4cucumber.rb +31 -28
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82c4352dd2ef314562ac57bf175a9a129f71190c
|
4
|
+
data.tar.gz: 210604bccd013852d1f7250d8b7d02394c3f0f40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0f806e572cd4ed364d8dcafa7aae1d94561e45f38b9cd9d077f1ef6f645a0947db98771d731e4f91cf0dc46469e68bf3d17ad08b18ba339033adb908601b8ca
|
7
|
+
data.tar.gz: 1f9bebb8799270b7e1d5a7d01002b558f28d0ef9b23f50606b9e18c7cea368852baa001b1ffd576ba20f424b432df0b5d71bb73d97dca10e10def7818206254f
|
data/lib/web4cucumber/version.rb
CHANGED
data/lib/web4cucumber.rb
CHANGED
@@ -140,10 +140,6 @@ class Web4Cucumber
|
|
140
140
|
# some point to have a human control over the webdriver instance. Then
|
141
141
|
# in the same way stick the :debug_at keyword with the page name as a value
|
142
142
|
# into the options hash. The webdriver is available via @@b clas variable
|
143
|
-
if options.has_key?(:debug_at) and options[:stop_at] == page
|
144
|
-
require "byebug"
|
145
|
-
byebug
|
146
|
-
end
|
147
143
|
page_rules = rules[page.to_sym]
|
148
144
|
unless page_rules
|
149
145
|
@@logger.warn("The page #{page} not found in #{key} yaml file, maybe you have wrong yaml format...")
|
@@ -185,13 +181,14 @@ class Web4Cucumber
|
|
185
181
|
end
|
186
182
|
@@b.goto url
|
187
183
|
end
|
188
|
-
unless page_rules[:expected_forms]
|
189
|
-
@@logger.warn("No expected_forms defined in the #{page} page")
|
190
|
-
end
|
191
184
|
if page_rules.has_key? :sleep
|
192
185
|
sleep page_rules[:sleep]
|
193
186
|
end
|
194
187
|
driver = check_iframe(page_rules) # substitute browser operating with main html
|
188
|
+
if options.has_key?(:debug_at) and options[:stop_at] == page
|
189
|
+
require "byebug"
|
190
|
+
byebug
|
191
|
+
end
|
195
192
|
# with the one operating with internal iframe
|
196
193
|
unless page_rules[:expected_fields]
|
197
194
|
@@logger.warn("No expected fields in #{page} page")
|
@@ -270,29 +267,35 @@ class Web4Cucumber
|
|
270
267
|
end
|
271
268
|
end
|
272
269
|
if result # continue if nothing failed
|
273
|
-
|
274
|
-
if
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
element.
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
options
|
289
|
-
|
270
|
+
begin
|
271
|
+
if prop[:type] == 'select'
|
272
|
+
if options[name.to_sym]
|
273
|
+
driver.select_list(prop[:selector]).select_value options[name.to_sym].to_s
|
274
|
+
elsif prop[:def_value]
|
275
|
+
driver.select_list(prop[:selector]).select_value prop[:def_value]
|
276
|
+
else
|
277
|
+
@@logger.error("Please, provide a value for this element: #{prop}")
|
278
|
+
end
|
279
|
+
elsif ['filefield', 'file-field', 'file_field'].include? prop[:type]
|
280
|
+
element.set options[name]
|
281
|
+
elsif ['checkbox', 'radio', 'a', 'element'].include? prop[:type]
|
282
|
+
element.click
|
283
|
+
elsif ['textfield', 'text_field', 'text_area', 'textarea'].include? prop[:type]
|
284
|
+
element.clear
|
285
|
+
if options.has_key? name.to_sym
|
286
|
+
options[name.to_sym].each_char do |c|
|
287
|
+
element.append c
|
288
|
+
end
|
289
|
+
elsif prop.has_key? :def_value
|
290
|
+
element.send_keys prop[:def_value]
|
291
|
+
else
|
292
|
+
@@logger.error("Please provide the value for this element: #{prop}")
|
290
293
|
end
|
291
|
-
elsif prop.has_key? :def_value
|
292
|
-
element.send_keys prop[:def_value]
|
293
|
-
else
|
294
|
-
@@logger.error("Please provide the value for this element: #{prop}")
|
295
294
|
end
|
295
|
+
rescue => e
|
296
|
+
screenshot_save
|
297
|
+
@result[:result] = false
|
298
|
+
@result[:errors] << e.message
|
296
299
|
end
|
297
300
|
end
|
298
301
|
end
|