Class: TestCentricity::PageSection
- Includes:
- Capybara::DSL, Capybara::Node::Matchers, Test::Unit::Assertions
- Defined in:
- lib/testcentricity_web/page_sections_helper.rb
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#locator ⇒ Object
readonly
Returns the value of attribute locator.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#parent ⇒ Object
Returns the value of attribute parent.
Class Method Summary collapse
-
.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.
-
.cell_button(element_name, locator, table, column) ⇒ Object
Declare and instantiate a cell button in a table column on this page section.
-
.cell_checkbox(element_name, locator, table, column) ⇒ Object
Declare and instantiate a cell checkbox in a table column on this page section.
-
.cell_radio(element_name, locator, table, column) ⇒ Object
Declare and instantiate a cell radio in a table column on this page section.
-
.checkbox(element_name, locator, proxy = nil) ⇒ 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 an 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.
-
.section(section_name, class_name, 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.
-
.trait(trait_name, &block) ⇒ Object
Define a trait for this page section.
Instance Method Summary collapse
-
#click_at(x, y) ⇒ Object
Click at a specific location within a Section object.
-
#disabled? ⇒ Boolean
Is Section object disabled (not enabled)?.
-
#enabled? ⇒ Boolean
Is Section object enabled?.
-
#exists? ⇒ Boolean
Does Section object exists?.
- #get_attribute(attrib) ⇒ Object
- #get_locator ⇒ Object
- #get_name ⇒ Object
- #get_native_attribute(attrib) ⇒ Object
-
#hidden? ⇒ Boolean
Is Section object hidden (not visible)?.
-
#initialize(name, parent, locator, context) ⇒ PageSection
constructor
A new instance of PageSection.
-
#populate_data_fields(data) ⇒ Object
Populate the specified UI elements in this Section object with the associated data from a Hash passed as an argument.
- #set_parent(parent) ⇒ Object
- #verify_ui_states(ui_states) ⇒ Object
-
#visible? ⇒ Boolean
Is Section object visible?.
-
#wait_until_exists(seconds = nil) ⇒ Object
Wait until the Section object exists, or until the specified wait time has expired.
-
#wait_until_gone(seconds = nil) ⇒ Object
Wait until the Section object no longer exists, or until the specified wait time has expired.
-
#wait_until_hidden(seconds = nil) ⇒ Object
Wait until the Section object is hidden, or until the specified wait time has expired.
-
#wait_until_visible(seconds = nil) ⇒ Object
Wait until the Section object is visible, or until the specified wait time has expired.
Constructor Details
#initialize(name, parent, locator, context) ⇒ PageSection
Returns a new instance of PageSection.
12 13 14 15 16 17 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 12 def initialize(name, parent, locator, context) @name = name @parent = parent @locator = locator @context = context end |
Instance Attribute Details
#context ⇒ Object (readonly)
Returns the value of attribute context.
9 10 11 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 9 def context @context end |
#locator ⇒ Object (readonly)
Returns the value of attribute locator.
9 10 11 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 9 def locator @locator end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
9 10 11 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 9 def name @name end |
#parent ⇒ Object
Returns the value of attribute parent.
10 11 12 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 10 def parent @parent end |
Class Method Details
.button(element_name, locator) ⇒ Object
Declare and instantiate a single button UI Element for this page section.
65 66 67 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 65 def self.(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::Button.new("#{element_name}", self, "#{locator}", :section);end)) end |
.buttons(element_hash) ⇒ Object
Declare and instantiate a collection of buttons for this page section.
77 78 79 80 81 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 77 def self.(element_hash) element_hash.each do |element_name, locator| (element_name, locator) end end |
.cell_button(element_name, locator, table, column) ⇒ Object
Declare and instantiate a cell button in a table column on this page section.
300 301 302 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 300 def self.(element_name, locator, table, column) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellButton.new("#{element_name}", self, "#{locator}", :section, #{table}, #{column});end)) end |
.cell_checkbox(element_name, locator, table, column) ⇒ Object
Declare and instantiate a cell checkbox in a table column on this page section.
313 314 315 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 313 def self.cell_checkbox(element_name, locator, table, column) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellCheckBox.new("#{element_name}", self, "#{locator}", :section, #{table}, #{column});end)) end |
.cell_radio(element_name, locator, table, column) ⇒ Object
Declare and instantiate a cell radio in a table column on this page section.
326 327 328 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 326 def self.cell_radio(element_name, locator, table, column) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellRadio.new("#{element_name}", self, "#{locator}", :section, #{table}, #{column});end)) end |
.checkbox(element_name, locator, proxy = nil) ⇒ Object
Declare and instantiate a single checkbox UI Element for this page section.
120 121 122 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 120 def self.checkbox(element_name, locator, proxy = nil) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CheckBox.new("#{element_name}", self, "#{locator}", :section, #{proxy});end)) end |
.checkboxes(element_hash) ⇒ Object
Declare and instantiate a collection of checkboxes for this page section.
133 134 135 136 137 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 133 def self.checkboxes(element_hash) element_hash.each do |element_name, locator| checkbox(element_name, locator) end end |
.element(element_name, locator) ⇒ Object
Declare and instantiate a single generic UI Element for this page section.
39 40 41 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 39 def self.element(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::UIElement.new("#{element_name}", self, "#{locator}", :section);end)) end |
.elements(element_hash) ⇒ Object
Declare and instantiate a collection of generic UI Elements for this page section.
51 52 53 54 55 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 51 def self.elements(element_hash) element_hash.each do |element_name, locator| element(element_name, locator) end end |
.filefield(element_name, locator) ⇒ Object
Declare and instantiate a single File Field UI Element for this page section.
280 281 282 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 280 def self.filefield(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::FileField.new("#{element_name}", self, "#{locator}", :section);end)) end |
.filefields(element_hash) ⇒ Object
284 285 286 287 288 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 284 def self.filefields(element_hash) element_hash.each do |element_name, locator| filefield(element_name, locator) end end |
.image(element_name, locator) ⇒ Object
Declare and instantiate an single image UI Element for this page section.
263 264 265 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 263 def self.image(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::Image.new("#{element_name}", self, "#{locator}", :section);end)) end |
.images(element_hash) ⇒ Object
267 268 269 270 271 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 267 def self.images(element_hash) element_hash.each do |element_name, locator| image(element_name, locator) end end |
.label(element_name, locator) ⇒ Object
Declare and instantiate a single label UI Element for this page section.
175 176 177 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 175 def self.label(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::Label.new("#{element_name}", self, "#{locator}", :section);end)) end |
.labels(element_hash) ⇒ Object
179 180 181 182 183 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 179 def self.labels(element_hash) element_hash.each do |element_name, locator| label(element_name, locator) end end |
.link(element_name, locator) ⇒ Object
Declare and instantiate a single link UI Element for this page section.
193 194 195 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 193 def self.link(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::Link.new("#{element_name}", self, "#{locator}", :section);end)) end |
.links(element_hash) ⇒ Object
197 198 199 200 201 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 197 def self.links(element_hash) element_hash.each do |element_name, locator| link(element_name, locator) end end |
.list(element_name, locator) ⇒ Object
Declare and instantiate a single list UI Element for this page section.
245 246 247 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 245 def self.list(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::List.new("#{element_name}", self, "#{locator}", :section);end)) end |
.lists(element_hash) ⇒ Object
249 250 251 252 253 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 249 def self.lists(element_hash) element_hash.each do |element_name, locator| list(element_name, locator) end end |
.radio(element_name, locator, proxy = nil) ⇒ Object
Declare and instantiate a single radio button UI Element for this page section.
148 149 150 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 148 def self.radio(element_name, locator, proxy = nil) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::Radio.new("#{element_name}", self, "#{locator}", :section, #{proxy});end)) end |
.radios(element_hash) ⇒ Object
Declare and instantiate a collection of radio buttons for this page section.
161 162 163 164 165 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 161 def self.radios(element_hash) element_hash.each do |element_name, locator| radio(element_name, locator) end end |
.section(section_name, class_name, locator = nil) ⇒ Object
Instantiate a single PageSection object within this PageSection object.
337 338 339 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 337 def self.section(section_name, class_name, locator = nil) class_eval(%(def #{section_name};@#{section_name} ||= #{class_name}.new("#{section_name}", self, "#{locator}", :section);end)) end |
.sections(section_hash) ⇒ Object
341 342 343 344 345 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 341 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.
228 229 230 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 228 def self.selectlist(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::SelectList.new("#{element_name}", self, "#{locator}", :section);end)) end |
.selectlists(element_hash) ⇒ Object
232 233 234 235 236 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 232 def self.selectlists(element_hash) element_hash.each do |element_name, locator| selectlist(element_name, locator) end end |
.table(element_name, locator) ⇒ Object
Declare and instantiate a single table UI Element for this page section.
210 211 212 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 210 def self.table(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::Table.new("#{element_name}", self, "#{locator}", :section);end)) end |
.tables(element_hash) ⇒ Object
214 215 216 217 218 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 214 def self.tables(element_hash) element_hash.each do |element_name, locator| table(element_name, locator) end end |
.textfield(element_name, locator) ⇒ Object
Declare and instantiate a single text field UI Element for this page section.
91 92 93 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 91 def self.textfield(element_name, locator) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::TextField.new("#{element_name}", self, "#{locator}", :section);end)) end |
.textfields(element_hash) ⇒ Object
Declare and instantiate a collection of text fields for this page section.
105 106 107 108 109 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 105 def self.textfields(element_hash) element_hash.each do |element_name, locator| textfield(element_name, locator) end end |
.trait(trait_name, &block) ⇒ Object
Define a trait for this page section.
27 28 29 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 27 def self.trait(trait_name, &block) define_method(trait_name.to_s, &block) end |
Instance Method Details
#click_at(x, y) ⇒ Object
Click at a specific location within a Section object
481 482 483 484 485 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 481 def click_at(x, y) section, = find_section raise "Section object '#{get_name}' (#{get_locator}) not found" unless section section.click_at(x, y) end |
#disabled? ⇒ Boolean
Is Section object disabled (not enabled)?
387 388 389 390 391 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 387 def disabled? obj, = find_element object_not_found_exception(obj, nil) obj.disabled? end |
#enabled? ⇒ Boolean
Is Section object enabled?
377 378 379 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 377 def enabled? !disabled? end |
#exists? ⇒ Boolean
Does Section object exists?
366 367 368 369 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 366 def exists? section, = find_section section != nil end |
#get_attribute(attrib) ⇒ Object
636 637 638 639 640 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 636 def get_attribute(attrib) section, = find_section raise "Section object '#{get_name}' (#{get_locator}) not found" unless section section[attrib] end |
#get_locator ⇒ Object
347 348 349 350 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 347 def get_locator @locator.empty? && defined?(section_locator) ? locator = section_locator : locator = @locator (@context == :section && !@parent.nil? && !@parent.get_locator.nil?) ? "#{@parent.get_locator}|#{locator}" : locator end |
#get_name ⇒ Object
352 353 354 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 352 def get_name @name end |
#get_native_attribute(attrib) ⇒ Object
642 643 644 645 646 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 642 def get_native_attribute(attrib) section, = find_section raise "Section object '#{get_name}' (#{get_locator}) not found" unless section section.native.attribute(attrib) end |
#hidden? ⇒ Boolean
Is Section object hidden (not visible)?
414 415 416 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 414 def hidden? !visible? end |
#populate_data_fields(data) ⇒ Object
Populate the specified UI elements in this Section object with the associated data from a Hash passed as an argument. Data values must be in the form of a String for textfield and select list controls. For checkbox and radio buttons, data must either be a Boolean or a String that evaluates to a Boolean value (Yes, No, 1, 0, true, false)
611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 611 def populate_data_fields(data) data.each do |data_field, data_param| unless data_param.blank? # make sure the intended UI target element exists before trying to set its value data_field.wait_until_exists(2) if data_param == '!DELETE' data_field.set('') else case data_field.get_object_type when :checkbox data_field.set_checkbox_state(data_param.to_bool) when :selectlist data_field.get_siebel_object_type == 'JComboBox' ? data_field.set("#{data_param}\t") : data_field.choose_option(data_param) when :radio data_field.set_selected_state(data_param.to_bool) when :textfield data_field.set("#{data_param}\t") end end end end end |
#set_parent(parent) ⇒ Object
356 357 358 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 356 def set_parent(parent) @parent = parent end |
#verify_ui_states(ui_states) ⇒ Object
487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 487 def verify_ui_states(ui_states) ui_states.each do |ui_object, object_states| object_states.each do |property, state| case property when :class actual = ui_object.get_attribute(:class) when :exists actual = ui_object.exists? when :enabled actual = ui_object.enabled? when :disabled actual = ui_object.disabled? when :visible actual = ui_object.visible? when :hidden actual = ui_object.hidden? when :width actual = ui_object.get_width when :height actual = ui_object.get_height when :readonly actual = ui_object.read_only? when :checked actual = ui_object.checked? when :selected actual = ui_object.selected? when :value, :caption actual = ui_object.get_value when :maxlength actual = ui_object.get_max_length when :rowcount actual = ui_object.get_row_count when :columncount actual = ui_object.get_column_count when :placeholder actual = ui_object.get_placeholder when :options, :items, :list_items actual = ui_object.get_list_items when :optioncount, :itemcount actual = ui_object.get_item_count when :column_headers actual = ui_object.get_header_columns when :siebel_options actual = ui_object. else props = property.to_s.split('_') case props[0].to_sym when :cell cell = property.to_s.delete('cell_') cell = cell.split('_') actual = ui_object.get_table_cell(cell[0].to_i, cell[1].to_i) when :row row = property.to_s.delete('row_') actual = ui_object.get_table_row(row.to_i) when :column column = property.to_s.delete('column_') actual = ui_object.get_table_column(column.to_i) when :item item = property.to_s.delete('item_') actual = ui_object.get_list_item(item.to_i) end end if state.is_a?(Hash) && state.length == 1 error_msg = "Expected UI object '#{ui_object.get_name}' (#{ui_object.get_locator}) #{property} property to" state.each do |key, value| case key when :lt, :less_than ExceptionQueue.enqueue_exception("#{error_msg} be less than #{value} but found #{actual}") unless actual < value when :lt_eq, :less_than_or_equal ExceptionQueue.enqueue_exception("#{error_msg} be less than or equal to #{value} but found #{actual}") unless actual <= value when :gt, :greater_than ExceptionQueue.enqueue_exception("#{error_msg} be greater than #{value} but found #{actual}") unless actual > value when :gt_eq, :greater_than_or_equal ExceptionQueue.enqueue_exception("#{error_msg} be greater than or equal to #{value} but found #{actual}") unless actual >= value when :starts_with ExceptionQueue.enqueue_exception("#{error_msg} start with '#{value}' but found #{actual}") unless actual.start_with?(value) when :ends_with ExceptionQueue.enqueue_exception("#{error_msg} end with '#{value}' but found #{actual}") unless actual.end_with?(value) when :contains ExceptionQueue.enqueue_exception("#{error_msg} contain '#{value}' but found #{actual}") unless actual.include?(value) when :not_contains, :does_not_contain ExceptionQueue.enqueue_exception("#{error_msg} not contain '#{value}' but found #{actual}") if actual.include?(value) when :not_equal ExceptionQueue.enqueue_exception("#{error_msg} not equal '#{value}' but found #{actual}") if actual == value when :like, :is_like actual_like = actual.delete("\n") actual_like = actual_like.delete("\r") actual_like = actual_like.delete("\t") actual_like = actual_like.delete(' ') actual_like = actual_like.downcase expected = value.delete("\n") expected = expected.delete("\r") expected = expected.delete("\t") expected = expected.delete(' ') expected = expected.downcase ExceptionQueue.enqueue_exception("#{error_msg} be like '#{value}' but found #{actual}") unless actual_like.include?(expected) end end else ExceptionQueue.enqueue_assert_equal(state, actual, "Expected UI object '#{ui_object.get_name}' (#{ui_object.get_locator}) #{property} property") end end end ExceptionQueue.post_exceptions end |
#visible? ⇒ Boolean
Is Section object visible?
399 400 401 402 403 404 405 406 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 399 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) ⇒ Object
Wait until the Section object exists, or until the specified wait time has expired.
424 425 426 427 428 429 430 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 424 def wait_until_exists(seconds = nil) timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds wait = Selenium::WebDriver::Wait.new(timeout: timeout) wait.until { exists? } rescue raise "Could not find Section object '#{get_name}' (#{get_locator}) after #{timeout} seconds" unless exists? end |
#wait_until_gone(seconds = nil) ⇒ Object
Wait until the Section object no longer exists, or until the specified wait time has expired.
438 439 440 441 442 443 444 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 438 def wait_until_gone(seconds = nil) timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds wait = Selenium::WebDriver::Wait.new(timeout: timeout) wait.until { !exists? } rescue raise "Section object '#{get_name}' (#{get_locator}) remained visible after #{timeout} seconds" if exists? end |
#wait_until_hidden(seconds = nil) ⇒ Object
Wait until the Section object is hidden, or until the specified wait time has expired.
466 467 468 469 470 471 472 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 466 def wait_until_hidden(seconds = nil) timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds wait = Selenium::WebDriver::Wait.new(timeout: timeout) wait.until { hidden? } rescue raise "Section object '#{get_name}' (#{get_locator}) remained visible after #{timeout} seconds" if visible? end |
#wait_until_visible(seconds = nil) ⇒ Object
Wait until the Section object is visible, or until the specified wait time has expired.
452 453 454 455 456 457 458 |
# File 'lib/testcentricity_web/page_sections_helper.rb', line 452 def wait_until_visible(seconds = nil) timeout = seconds.nil? ? Capybara.default_max_wait_time : seconds wait = Selenium::WebDriver::Wait.new(timeout: timeout) wait.until { visible? } rescue raise "Could not find Section object '#{get_name}' (#{get_locator}) after #{timeout} seconds" unless visible? end |