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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f4ad351ac2b8da43d6e8b8921ea89c45daf4ed20
4
- data.tar.gz: 2a7e12e29bad39f31bc674ab32224aaaf6e70c87
3
+ metadata.gz: 82c4352dd2ef314562ac57bf175a9a129f71190c
4
+ data.tar.gz: 210604bccd013852d1f7250d8b7d02394c3f0f40
5
5
  SHA512:
6
- metadata.gz: 57c3e99545d0334bf001b969142889428e53342e6e2cc6492383d1e73a5449712f3a5cdc055f2ae0022422898084d3f8c99285158c47a3ff297503eef8583410
7
- data.tar.gz: 55fc9079cb9df2347a00f812048562a36f5f6888382a279f22137f247d21337732eb0d83984fffa71eaefa13d80cbf1fe49c3141232c0e85fbc0e6fa6705c4c3
6
+ metadata.gz: b0f806e572cd4ed364d8dcafa7aae1d94561e45f38b9cd9d077f1ef6f645a0947db98771d731e4f91cf0dc46469e68bf3d17ad08b18ba339033adb908601b8ca
7
+ data.tar.gz: 1f9bebb8799270b7e1d5a7d01002b558f28d0ef9b23f50606b9e18c7cea368852baa001b1ffd576ba20f424b432df0b5d71bb73d97dca10e10def7818206254f
@@ -1,3 +1,3 @@
1
1
  module Web4Cucumber
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
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
- if prop[:type] == 'select'
274
- if options[name.to_sym]
275
- driver.select_list(prop[:selector]).select_value options[name.to_sym].to_s
276
- elsif prop[:def_value]
277
- driver.select_list(prop[:selector]).select_value prop[:def_value]
278
- else
279
- @@logger.error("Please, provide a value for this element: #{prop}")
280
- end
281
- elsif ['filefield', 'file-field', 'file_field'].include? prop[:type]
282
- element.set options[name]
283
- elsif ['checkbox', 'radio', 'a', 'element'].include? prop[:type]
284
- element.click
285
- elsif ['textfield', 'text_field', 'text_area', 'textarea'].include? prop[:type]
286
- element.clear
287
- if options.has_key? name.to_sym
288
- options[name.to_sym].each_char do |c|
289
- element.append c
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web4cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Fayans