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.
-
.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.
387 388 389 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 387 def self.audio(element_name, locator) define_element(element_name, TestCentricity::Audio, locator) end |
.audios(element_hash) ⇒ Object
391 392 393 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 391 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.
420 421 422 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 420 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.
433 434 435 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 433 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.
460 461 462 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 460 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.
446 447 448 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 446 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.
228 229 230 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 228 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.
241 242 243 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 241 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.
402 403 404 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 402 def self.filefield(element_name, locator) define_element(element_name, TestCentricity::FileField, locator) end |
.filefields(element_hash) ⇒ Object
406 407 408 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 406 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.
357 358 359 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 357 def self.image(element_name, locator) define_element(element_name, TestCentricity::Image, locator) end |
.images(element_hash) ⇒ Object
361 362 363 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 361 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.
279 280 281 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 279 def self.label(element_name, locator) define_element(element_name, TestCentricity::Label, locator) end |
.labels(element_hash) ⇒ Object
283 284 285 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 283 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.
295 296 297 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 295 def self.link(element_name, locator) define_element(element_name, TestCentricity::Link, locator) end |
.links(element_hash) ⇒ Object
299 300 301 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 299 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.
341 342 343 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 341 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.
473 474 475 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 473 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.
485 486 487 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 485 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.
497 498 499 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 497 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
345 346 347 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 345 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.
254 255 256 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 254 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.
267 268 269 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 267 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.
508 509 510 511 512 513 514 515 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 508 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
517 518 519 520 521 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 517 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.
326 327 328 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 326 def self.selectlist(element_name, locator) define_element(element_name, TestCentricity::SelectList, locator) end |
.selectlists(element_hash) ⇒ Object
330 331 332 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 330 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.
310 311 312 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 310 def self.table(element_name, locator) define_element(element_name, TestCentricity::Table, locator) end |
.tables(element_hash) ⇒ Object
314 315 316 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 314 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.
372 373 374 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 372 def self.video(element_name, locator) define_element(element_name, TestCentricity::Video, locator) end |
.videos(element_hash) ⇒ Object
376 377 378 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 376 def self.videos(element_hash) element_hash.each(&method(:video)) end |
Instance Method Details
#click ⇒ Object
Click on a Section object
674 675 676 677 678 679 680 681 682 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 674 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
713 714 715 716 717 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 713 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)?
550 551 552 553 554 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 550 def disabled? section, = find_section section_not_found_exception(section) section.disabled? end |
#displayed? ⇒ Boolean
Is section object displayed in browser window?
587 588 589 590 591 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 587 def displayed? section, = find_section section_not_found_exception(section) section.displayed? end |
#double_click ⇒ Object
Double-click on a Section object
689 690 691 692 693 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 689 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?
540 541 542 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 540 def enabled? !disabled? end |
#exists? ⇒ Boolean
Does Section object exists?
529 530 531 532 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 529 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
742 743 744 745 746 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 742 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
748 749 750 751 752 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 748 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)?
577 578 579 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 577 def hidden? !visible? end |
#hover ⇒ Object
Hover the cursor over a Section object
736 737 738 739 740 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 736 def hover section, = find_section section_not_found_exception(section) section.hover end |
#right_click ⇒ Object
Right-click on a Section object
700 701 702 703 704 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 700 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
725 726 727 728 729 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 725 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?
562 563 564 565 566 567 568 569 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 562 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.
600 601 602 603 604 605 606 607 608 609 610 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 600 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.
619 620 621 622 623 624 625 626 627 628 629 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 619 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.
657 658 659 660 661 662 663 664 665 666 667 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 657 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.
638 639 640 641 642 643 644 645 646 647 648 |
# File 'lib/testcentricity_web/web_core/page_section.rb', line 638 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 |