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.
-
.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, proxy = nil) ⇒ Object
Declare and instantiate a cell checkbox in a table column on this page section.
-
.cell_image(element_name, locator, table, column) ⇒ Object
Declare and instantiate a cell image in a table column on this page object.
-
.cell_radio(element_name, locator, table, column, proxy = nil) ⇒ 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 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.
-
.list_button(element_name, locator, list) ⇒ Object
Declare and instantiate a list button in a row of a list object on this section object.
-
.list_checkbox(element_name, locator, list, proxy = nil) ⇒ Object
Declare and instantiate a list checkbox in a row of a list object on this section object.
-
.list_radio(element_name, locator, list, proxy = nil) ⇒ Object
Declare and instantiate a list radio in a row of a list object on this section object.
- .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, 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_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.
364 365 366 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 364 def self.audio(element_name, locator) define_element(element_name, TestCentricity::Audio, locator) end |
.audios(element_hash) ⇒ Object
368 369 370 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 368 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 |
.cell_button(element_name, locator, table, column) ⇒ Object
Declare and instantiate a cell button in a table column on this page section.
397 398 399 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 397 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, proxy = nil) ⇒ Object
Declare and instantiate a cell checkbox in a table column on this page section.
410 411 412 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 410 def self.cell_checkbox(element_name, locator, table, column, proxy = nil) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellCheckBox.new("#{element_name}", self, "#{locator}", :section, #{table}, #{column}, #{proxy});end)) end |
.cell_image(element_name, locator, table, column) ⇒ Object
Declare and instantiate a cell image in a table column on this page object.
437 438 439 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 437 def self.cell_image(element_name, locator, table, column) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellImage.new("#{element_name}", self, "#{locator}", :section, #{table}, #{column});end)) end |
.cell_radio(element_name, locator, table, column, proxy = nil) ⇒ Object
Declare and instantiate a cell radio in a table column on this page section.
423 424 425 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 423 def self.cell_radio(element_name, locator, table, column, proxy = nil) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellRadio.new("#{element_name}", self, "#{locator}", :section, #{table}, #{column}, #{proxy});end)) end |
.checkbox(element_name, locator, proxy = nil) ⇒ Object
Declare and instantiate a single checkbox UI Element for this page section.
205 206 207 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 205 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.
218 219 220 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 218 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.
379 380 381 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 379 def self.filefield(element_name, locator) define_element(element_name, TestCentricity::FileField, locator) end |
.filefields(element_hash) ⇒ Object
383 384 385 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 383 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.
334 335 336 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 334 def self.image(element_name, locator) define_element(element_name, TestCentricity::Image, locator) end |
.images(element_hash) ⇒ Object
338 339 340 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 338 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.
256 257 258 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 256 def self.label(element_name, locator) define_element(element_name, TestCentricity::Label, locator) end |
.labels(element_hash) ⇒ Object
260 261 262 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 260 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.
272 273 274 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 272 def self.link(element_name, locator) define_element(element_name, TestCentricity::Link, locator) end |
.links(element_hash) ⇒ Object
276 277 278 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 276 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.
318 319 320 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 318 def self.list(element_name, locator) define_element(element_name, TestCentricity::List, locator) end |
.list_button(element_name, locator, list) ⇒ Object
Declare and instantiate a list button in a row of a list object on this section object.
450 451 452 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 450 def self.(element_name, locator, list) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::ListButton.new("#{element_name}", self, "#{locator}", :section, #{list});end)) end |
.list_checkbox(element_name, locator, list, proxy = nil) ⇒ Object
Declare and instantiate a list checkbox in a row of a list object on this section object.
462 463 464 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 462 def self.list_checkbox(element_name, locator, list, proxy = nil) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::ListCheckBox.new("#{element_name}", self, "#{locator}", :section, #{list}, #{proxy});end)) end |
.list_radio(element_name, locator, list, proxy = nil) ⇒ Object
Declare and instantiate a list radio in a row of a list object on this section object.
474 475 476 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 474 def self.list_radio(element_name, locator, list, proxy = nil) class_eval(%(def #{element_name};@#{element_name} ||= TestCentricity::CellRadio.new("#{element_name}", self, "#{locator}", :section, #{list}, #{proxy});end)) end |
.lists(element_hash) ⇒ Object
322 323 324 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 322 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.
231 232 233 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 231 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.
244 245 246 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 244 def self.radios(element_hash) element_hash.each(&method(:radio)) end |
.section(section_name, obj, locator = nil) ⇒ Object
Instantiate a single PageSection object within this PageSection object.
485 486 487 488 489 490 491 492 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 485 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
494 495 496 497 498 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 494 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.
303 304 305 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 303 def self.selectlist(element_name, locator) define_element(element_name, TestCentricity::SelectList, locator) end |
.selectlists(element_hash) ⇒ Object
307 308 309 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 307 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.
287 288 289 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 287 def self.table(element_name, locator) define_element(element_name, TestCentricity::Table, locator) end |
.tables(element_hash) ⇒ Object
291 292 293 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 291 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.
349 350 351 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 349 def self.video(element_name, locator) define_element(element_name, TestCentricity::Video, locator) end |
.videos(element_hash) ⇒ Object
353 354 355 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 353 def self.videos(element_hash) element_hash.each(&method(:video)) end |
Instance Method Details
#click ⇒ Object
Click on a Section object
651 652 653 654 655 656 657 658 659 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 651 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
690 691 692 693 694 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 690 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)?
527 528 529 530 531 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 527 def disabled? section, = find_section section_not_found_exception(section) section.disabled? end |
#displayed? ⇒ Boolean
Is section object displayed in browser window?
564 565 566 567 568 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 564 def displayed? section, = find_section section_not_found_exception(section) section.displayed? end |
#double_click ⇒ Object
Double-click on a Section object
666 667 668 669 670 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 666 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?
517 518 519 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 517 def enabled? !disabled? end |
#exists? ⇒ Boolean
Does Section object exists?
506 507 508 509 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 506 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
719 720 721 722 723 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 719 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
725 726 727 728 729 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 725 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)?
554 555 556 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 554 def hidden? !visible? end |
#hover ⇒ Object
Hover the cursor over a Section object
713 714 715 716 717 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 713 def hover section, = find_section section_not_found_exception(section) section.hover end |
#right_click ⇒ Object
Right-click on a Section object
677 678 679 680 681 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 677 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
702 703 704 705 706 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 702 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?
539 540 541 542 543 544 545 546 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 539 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.
577 578 579 580 581 582 583 584 585 586 587 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 577 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.
596 597 598 599 600 601 602 603 604 605 606 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 596 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.
634 635 636 637 638 639 640 641 642 643 644 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 634 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.
615 616 617 618 619 620 621 622 623 624 625 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 615 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 |