Class: TestCentricity::PageSection
- Inherits:
-
BasePageSectionObject
- Object
- BasePageSectionObject
- TestCentricity::PageSection
- Defined in:
- lib/testcentricity_web/web_core/page_section.rb
Constant Summary collapse
- XPATH_SELECTORS =
['//', '[@', '[contains(']
- CSS_SELECTORS =
['#', ':nth-child(', ':first-child', ':last-child', ':nth-of-type(', ':first-of-type', ':last-of-type', '^=', '$=', '*=', ':contains(']
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#list_index ⇒ Object
Returns the value of attribute list_index.
-
#locator ⇒ Object
Returns the value of attribute locator.
-
#locator_type ⇒ Object
Returns the value of attribute locator_type.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#parent ⇒ Object
Returns the value of attribute parent.
-
#parent_list ⇒ Object
Returns the value of attribute parent_list.
Class Method Summary collapse
-
.audio(element_name, locator) ⇒ Object
Declare and instantiate a single HTML5 audio UI Element for this page section.
- .audios(element_hash) ⇒ Object
-
.button(element_name, locator) ⇒ Object
Declare and instantiate a single button UI Element for this page section.
-
.buttons(element_hash) ⇒ Object
Declare and instantiate a collection of buttons for this page section.
-
.checkbox(element_name, locator) ⇒ Object
Declare and instantiate a single checkbox UI Element for this page section.
-
.checkboxes(element_hash) ⇒ Object
Declare and instantiate a collection of checkboxes for this page section.
-
.element(element_name, locator) ⇒ Object
Declare and instantiate a single generic UI Element for this page section.
-
.elements(element_hash) ⇒ Object
Declare and instantiate a collection of generic UI Elements for this page section.
-
.filefield(element_name, locator) ⇒ Object
Declare and instantiate a single File Field UI Element for this page section.
- .filefields(element_hash) ⇒ Object
-
.image(element_name, locator) ⇒ Object
Declare and instantiate a single image UI Element for this page section.
- .images(element_hash) ⇒ Object
-
.label(element_name, locator) ⇒ Object
Declare and instantiate a single label UI Element for this page section.
- .labels(element_hash) ⇒ Object
-
.link(element_name, locator) ⇒ Object
Declare and instantiate a single link UI Element for this page section.
- .links(element_hash) ⇒ Object
-
.list(element_name, locator) ⇒ Object
Declare and instantiate a single list UI Element for this page section.
- .lists(element_hash) ⇒ Object
-
.radio(element_name, locator, proxy = nil) ⇒ Object
Declare and instantiate a single radio button UI Element for this page section.
-
.radios(element_hash) ⇒ Object
Declare and instantiate a collection of radio buttons for this page section.
-
.range(element_name, locator) ⇒ Object
Declare and instantiate a single range input UI Element for this page section.
-
.ranges(element_hash) ⇒ Object
Declare and instantiate a collection of range inputs for this page section.
-
.section(section_name, obj, locator = nil) ⇒ Object
Instantiate a single PageSection object within this PageSection object.
- .sections(section_hash) ⇒ Object
-
.selectlist(element_name, locator) ⇒ Object
Declare and instantiate a single select list UI Element for this page section.
- .selectlists(element_hash) ⇒ Object
-
.table(element_name, locator) ⇒ Object
Declare and instantiate a single table UI Element for this page section.
- .tables(element_hash) ⇒ Object
-
.textfield(element_name, locator) ⇒ Object
Declare and instantiate a single text field UI Element for this page section.
-
.textfields(element_hash) ⇒ Object
Declare and instantiate a collection of text fields for this page section.
-
.video(element_name, locator) ⇒ Object
Declare and instantiate a single video UI Element for this page section.
- .videos(element_hash) ⇒ Object
Instance Method Summary collapse
-
#click ⇒ Object
Click on a Section object.
-
#click_at(x, y) ⇒ Object
Click at a specific location within a Section object.
-
#disabled? ⇒ Boolean
Is Section object disabled (not enabled)?.
-
#displayed? ⇒ Boolean
Is section object displayed in browser window?.
-
#double_click ⇒ Object
Double-click on a Section object.
-
#enabled? ⇒ Boolean
Is Section object enabled?.
-
#exists? ⇒ Boolean
Does Section object exists?.
- #get_all_items_count ⇒ Object
- #get_all_list_items ⇒ Object
- #get_attribute(attrib) ⇒ Object
- #get_item_count ⇒ Object
- #get_list_items ⇒ Object
- #get_locator ⇒ Object
- #get_locator_type ⇒ Object
- #get_name ⇒ Object
- #get_native_attribute(attrib) ⇒ Object
- #get_object_type ⇒ Object
- #get_parent_list ⇒ Object
-
#hidden? ⇒ Boolean
Is Section object hidden (not visible)?.
-
#hover ⇒ Object
Hover the cursor over a Section object.
-
#initialize(name, parent, locator, context) ⇒ PageSection
constructor
A new instance of PageSection.
-
#right_click ⇒ Object
Right-click on a Section object.
-
#send_keys(*keys) ⇒ Object
Send keystrokes to a Section object.
- #set_list_index(list, index = 1) ⇒ Object
- #set_parent(parent) ⇒ Object
- #verify_list_items(expected, enqueue = false) ⇒ Object
-
#visible? ⇒ Boolean
Is Section object visible?.
-
#wait_until_exists(seconds = nil, post_exception = true) ⇒ Object
Wait until the Section object exists, or until the specified wait time has expired.
-
#wait_until_gone(seconds = nil, post_exception = true) ⇒ Object
Wait until the Section object no longer exists, or until the specified wait time has expired.
-
#wait_until_hidden(seconds = nil, post_exception = true) ⇒ Object
Wait until the Section object is hidden, or until the specified wait time has expired.
-
#wait_until_visible(seconds = nil, post_exception = true) ⇒ Object
Wait until the Section object is visible, or until the specified wait time has expired.
Methods inherited from BasePageSectionObject
#populate_data_fields, trait, #verify_focus_order, #verify_ui_states
Constructor Details
#initialize(name, parent, locator, context) ⇒ PageSection
Returns a new instance of PageSection.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 13 def initialize(name, parent, locator, context) @name = name @parent = parent @locator = locator @context = context @parent_list = nil @list_index = nil is_xpath = XPATH_SELECTORS.any? { |selector| @locator.include?(selector) } is_css = CSS_SELECTORS.any? { |selector| @locator.include?(selector) } @locator_type = if is_xpath && !is_css :xpath elsif is_css && !is_xpath :css elsif !is_css && !is_xpath :css else :css end end |
Instance Attribute Details
#context ⇒ Object (readonly)
Returns the value of attribute context.
3 4 5 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 3 def context @context end |
#list_index ⇒ Object
Returns the value of attribute list_index.
7 8 9 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 7 def list_index @list_index end |
#locator ⇒ Object
Returns the value of attribute locator.
4 5 6 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 4 def locator @locator end |
#locator_type ⇒ Object
Returns the value of attribute locator_type.
8 9 10 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 8 def locator_type @locator_type end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
3 4 5 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 3 def name @name end |
#parent ⇒ Object
Returns the value of attribute parent.
5 6 7 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 5 def parent @parent end |
#parent_list ⇒ Object
Returns the value of attribute parent_list.
6 7 8 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 6 def parent_list @parent_list end |
Class Method Details
.audio(element_name, locator) ⇒ Object
Declare and instantiate a single HTML5 audio UI Element for this page section.
385 386 387 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 385 def self.audio(element_name, locator) define_element(element_name, TestCentricity::Audio, locator) end |
.audios(element_hash) ⇒ Object
389 390 391 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 389 def self.audios(element_hash) element_hash.each(&method(:audio)) end |
.button(element_name, locator) ⇒ Object
Declare and instantiate a single button UI Element for this page section.
154 155 156 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 154 def self.(element_name, locator) define_element(element_name, TestCentricity::Button, locator) end |
.buttons(element_hash) ⇒ Object
Declare and instantiate a collection of buttons for this page section.
166 167 168 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 166 def self.(element_hash) element_hash.each(&method(:button)) end |
.checkbox(element_name, locator) ⇒ Object
Declare and instantiate a single checkbox UI Element for this page section.
227 228 229 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 227 def self.checkbox(element_name, locator) define_element(element_name, TestCentricity::CheckBox, locator) end |
.checkboxes(element_hash) ⇒ Object
Declare and instantiate a collection of checkboxes for this page section.
240 241 242 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 240 def self.checkboxes(element_hash) element_hash.each(&method(:checkbox)) end |
.element(element_name, locator) ⇒ Object
Declare and instantiate a single generic UI Element for this page section.
130 131 132 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 130 def self.element(element_name, locator) define_element(element_name, TestCentricity::UIElement, locator) end |
.elements(element_hash) ⇒ Object
Declare and instantiate a collection of generic UI Elements for this page section.
142 143 144 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 142 def self.elements(element_hash) element_hash.each(&method(:element)) end |
.filefield(element_name, locator) ⇒ Object
Declare and instantiate a single File Field UI Element for this page section.
400 401 402 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 400 def self.filefield(element_name, locator) define_element(element_name, TestCentricity::FileField, locator) end |
.filefields(element_hash) ⇒ Object
404 405 406 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 404 def self.filefields(element_hash) element_hash.each(&method(:filefield)) end |
.image(element_name, locator) ⇒ Object
Declare and instantiate a single image UI Element for this page section.
355 356 357 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 355 def self.image(element_name, locator) define_element(element_name, TestCentricity::Image, locator) end |
.images(element_hash) ⇒ Object
359 360 361 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 359 def self.images(element_hash) element_hash.each(&method(:image)) end |
.label(element_name, locator) ⇒ Object
Declare and instantiate a single label UI Element for this page section.
277 278 279 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 277 def self.label(element_name, locator) define_element(element_name, TestCentricity::Label, locator) end |
.labels(element_hash) ⇒ Object
281 282 283 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 281 def self.labels(element_hash) element_hash.each(&method(:label)) end |
.link(element_name, locator) ⇒ Object
Declare and instantiate a single link UI Element for this page section.
293 294 295 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 293 def self.link(element_name, locator) define_element(element_name, TestCentricity::Link, locator) end |
.links(element_hash) ⇒ Object
297 298 299 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 297 def self.links(element_hash) element_hash.each(&method(:link)) end |
.list(element_name, locator) ⇒ Object
Declare and instantiate a single list UI Element for this page section.
339 340 341 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 339 def self.list(element_name, locator) define_element(element_name, TestCentricity::List, locator) end |
.lists(element_hash) ⇒ Object
343 344 345 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 343 def self.lists(element_hash) element_hash.each(&method(:list)) end |
.radio(element_name, locator, proxy = nil) ⇒ Object
Declare and instantiate a single radio button UI Element for this page section.
252 253 254 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 252 def self.radio(element_name, locator, proxy = nil) define_element(element_name, TestCentricity::Radio, locator) end |
.radios(element_hash) ⇒ Object
Declare and instantiate a collection of radio buttons for this page section.
265 266 267 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 265 def self.radios(element_hash) element_hash.each(&method(:radio)) end |
.range(element_name, locator) ⇒ Object
Declare and instantiate a single range input UI Element for this page section.
204 205 206 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 204 def self.range(element_name, locator) define_element(element_name, TestCentricity::Range, locator) end |
.ranges(element_hash) ⇒ Object
Declare and instantiate a collection of range inputs for this page section.
215 216 217 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 215 def self.ranges(element_hash) element_hash.each(&method(:range)) end |
.section(section_name, obj, locator = nil) ⇒ Object
Instantiate a single PageSection object within this PageSection object.
415 416 417 418 419 420 421 422 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 415 def self.section(section_name, obj, locator = nil) define_method(section_name) do ivar_name = "@#{section_name}" ivar = instance_variable_get(ivar_name) return ivar if ivar instance_variable_set(ivar_name, obj.new(section_name, self, "#{locator}", :section)) end end |
.sections(section_hash) ⇒ Object
424 425 426 427 428 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 424 def self.sections(section_hash) section_hash.each do |section_name, class_name| section(section_name, class_name) end end |
.selectlist(element_name, locator) ⇒ Object
Declare and instantiate a single select list UI Element for this page section.
324 325 326 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 324 def self.selectlist(element_name, locator) define_element(element_name, TestCentricity::SelectList, locator) end |
.selectlists(element_hash) ⇒ Object
328 329 330 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 328 def self.selectlists(element_hash) element_hash.each(&method(:selectlist)) end |
.table(element_name, locator) ⇒ Object
Declare and instantiate a single table UI Element for this page section.
308 309 310 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 308 def self.table(element_name, locator) define_element(element_name, TestCentricity::Table, locator) end |
.tables(element_hash) ⇒ Object
312 313 314 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 312 def self.tables(element_hash) element_hash.each(&method(:table)) end |
.textfield(element_name, locator) ⇒ Object
Declare and instantiate a single text field UI Element for this page section.
178 179 180 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 178 def self.textfield(element_name, locator) define_element(element_name, TestCentricity::TextField, locator) end |
.textfields(element_hash) ⇒ Object
Declare and instantiate a collection of text fields for this page section.
192 193 194 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 192 def self.textfields(element_hash) element_hash.each(&method(:textfield)) end |
.video(element_name, locator) ⇒ Object
Declare and instantiate a single video UI Element for this page section.
370 371 372 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 370 def self.video(element_name, locator) define_element(element_name, TestCentricity::Video, locator) end |
.videos(element_hash) ⇒ Object
374 375 376 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 374 def self.videos(element_hash) element_hash.each(&method(:video)) end |
Instance Method Details
#click ⇒ Object
Click on a Section object
581 582 583 584 585 586 587 588 589 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 581 def click section, = find_section section_not_found_exception(section) begin section.click rescue section.click_at(10, 10) unless Capybara.current_driver == :poltergeist end end |
#click_at(x, y) ⇒ Object
Click at a specific location within a Section object
620 621 622 623 624 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 620 def click_at(x, y) section, = find_section section_not_found_exception(section) section.click_at(x, y) end |
#disabled? ⇒ Boolean
Is Section object disabled (not enabled)?
457 458 459 460 461 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 457 def disabled? section, = find_section section_not_found_exception(section) section.disabled? end |
#displayed? ⇒ Boolean
Is section object displayed in browser window?
494 495 496 497 498 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 494 def displayed? section, = find_section section_not_found_exception(section) section.displayed? end |
#double_click ⇒ Object
Double-click on a Section object
596 597 598 599 600 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 596 def double_click section, = find_section section_not_found_exception(section) page.driver.browser.action.double_click(section.native).perform end |
#enabled? ⇒ Boolean
Is Section object enabled?
447 448 449 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 447 def enabled? !disabled? end |
#exists? ⇒ Boolean
Does Section object exists?
436 437 438 439 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 436 def exists? section, = find_section section != nil end |
#get_all_items_count ⇒ Object
89 90 91 92 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 89 def get_all_items_count raise 'No parent list defined' if @parent_list.nil? @parent_list.get_all_items_count end |
#get_all_list_items ⇒ Object
94 95 96 97 98 99 100 101 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 94 def get_all_list_items items = [] (1..get_all_items_count).each do |item| set_list_index(nil, item) items.push(get_value(:all)) end items end |
#get_attribute(attrib) ⇒ Object
649 650 651 652 653 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 649 def get_attribute(attrib) section, = find_section section_not_found_exception(section) section[attrib] end |
#get_item_count ⇒ Object
75 76 77 78 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 75 def get_item_count raise 'No parent list defined' if @parent_list.nil? @parent_list.get_item_count end |
#get_list_items ⇒ Object
80 81 82 83 84 85 86 87 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 80 def get_list_items items = [] (1..get_item_count).each do |item| set_list_index(nil, item) items.push(get_value) end items end |
#get_locator ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 34 def get_locator locator = if @locator.empty? && defined?(section_locator) section_locator else @locator end unless @parent_list.nil? locator = if @locator_type == @parent_list.get_locator_type "#{@parent_list.get_locator} #{locator}" else "#{@parent_list.get_locator}|#{locator}" end unless @list_index.nil? locator = if @locator_type == :xpath "#{locator}[#{@list_index}]" else "#{locator}:nth-of-type(#{@list_index})" end end end if @context == :section && !@parent.nil? && !@parent.get_locator.nil? "#{@parent.get_locator}|#{locator}" else locator end end |
#get_locator_type ⇒ Object
62 63 64 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 62 def get_locator_type @locator_type end |
#get_name ⇒ Object
114 115 116 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 114 def get_name @name end |
#get_native_attribute(attrib) ⇒ Object
655 656 657 658 659 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 655 def get_native_attribute(attrib) section, = find_section section_not_found_exception(section) section.native.attribute(attrib) end |
#get_object_type ⇒ Object
110 111 112 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 110 def get_object_type :section end |
#get_parent_list ⇒ Object
66 67 68 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 66 def get_parent_list @parent_list end |
#hidden? ⇒ Boolean
Is Section object hidden (not visible)?
484 485 486 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 484 def hidden? !visible? end |
#hover ⇒ Object
Hover the cursor over a Section object
643 644 645 646 647 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 643 def hover section, = find_section section_not_found_exception(section) section.hover end |
#right_click ⇒ Object
Right-click on a Section object
607 608 609 610 611 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 607 def right_click section, = find_section section_not_found_exception(section) page.driver.browser.action.context_click(section.native).perform end |
#send_keys(*keys) ⇒ Object
Send keystrokes to a Section object
632 633 634 635 636 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 632 def send_keys(*keys) section, = find_section section_not_found_exception(section) section.send_keys(*keys) end |
#set_list_index(list, index = 1) ⇒ Object
70 71 72 73 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 70 def set_list_index(list, index = 1) @parent_list = list unless list.nil? @list_index = index end |
#set_parent(parent) ⇒ Object
118 119 120 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 118 def set_parent(parent) @parent = parent end |
#verify_list_items(expected, enqueue = false) ⇒ Object
103 104 105 106 107 108 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 103 def verify_list_items(expected, enqueue = false) actual = get_list_items enqueue ? ExceptionQueue.enqueue_assert_equal(expected, actual, "Expected list '#{get_name}' (#{get_locator})") : assert_equal(expected, actual, "Expected list object '#{get_name}' (#{get_locator}) to be #{expected} but found #{actual}") end |
#visible? ⇒ Boolean
Is Section object visible?
469 470 471 472 473 474 475 476 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 469 def visible? section, = find_section exists = section visible = false visible = section.visible? if exists # the section is visible if it exists and it is not invisible exists && visible ? true : false end |
#wait_until_exists(seconds = nil, post_exception = true) ⇒ Object
Wait until the Section object exists, or until the specified wait time has expired. If the wait time is nil, then the wait time will be Capybara.default_max_wait_time.
507 508 509 510 511 512 513 514 515 516 517 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 507 def wait_until_exists(seconds = nil, post_exception = true) timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds wait = Selenium::WebDriver::Wait.new(timeout: timeout) wait.until { exists? } rescue if post_exception raise "Could not find Section object '#{get_name}' (#{get_locator}) after #{timeout} seconds" unless exists? else exists? end end |
#wait_until_gone(seconds = nil, post_exception = true) ⇒ Object
Wait until the Section object no longer exists, or until the specified wait time has expired. If the wait time is nil, then the wait time will be Capybara.default_max_wait_time.
526 527 528 529 530 531 532 533 534 535 536 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 526 def wait_until_gone(seconds = nil, post_exception = true) timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds wait = Selenium::WebDriver::Wait.new(timeout: timeout) wait.until { !exists? } rescue if post_exception raise "Section object '#{get_name}' (#{get_locator}) remained visible after #{timeout} seconds" if exists? else exists? end end |
#wait_until_hidden(seconds = nil, post_exception = true) ⇒ Object
Wait until the Section object is hidden, or until the specified wait time has expired. If the wait time is nil, then the wait time will be Capybara.default_max_wait_time.
564 565 566 567 568 569 570 571 572 573 574 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 564 def wait_until_hidden(seconds = nil, post_exception = true) timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds wait = Selenium::WebDriver::Wait.new(timeout: timeout) wait.until { hidden? } rescue if post_exception raise "Section object '#{get_name}' (#{get_locator}) remained visible after #{timeout} seconds" if visible? else visible? end end |
#wait_until_visible(seconds = nil, post_exception = true) ⇒ Object
Wait until the Section object is visible, or until the specified wait time has expired. If the wait time is nil, then the wait time will be Capybara.default_max_wait_time.
545 546 547 548 549 550 551 552 553 554 555 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 545 def wait_until_visible(seconds = nil, post_exception = true) timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds wait = Selenium::WebDriver::Wait.new(timeout: timeout) wait.until { visible? } rescue if post_exception raise "Could not find Section object '#{get_name}' (#{get_locator}) after #{timeout} seconds" unless visible? else visible? end end |