module Druid::Assist
Public Instance Methods
method to retrieve an area element
# File lib/druid/assist.rb, line 441 def area_for(identifier) find_element("area(identifier)", Elements::Area, identifier, 'area') end
method to retrieve an array of area elements
# File lib/druid/assist.rb, line 448 def areas_for(identifier) find_elements("areas(identifier)", Elements::Area, identifier, 'area') end
method to retrieve an audio element
# File lib/druid/assist.rb, line 469 def audio_for(identifier) find_element("audio(identifier)", Elements::Audio, identifier, 'audio') end
method to retrieve an array of audio elements
# File lib/druid/assist.rb, line 476 def audios_for(identifier) find_elements("audios(identifier)", Elements::Audio, identifier, 'audio') end
method to retrieve the b element
# File lib/druid/assist.rb, line 541 def b_for(identifier) find_element("b(identifier)", Elements::Bold, identifier, 'b') end
method to retrieve the text for a b
# File lib/druid/assist.rb, line 534 def b_text_for(identifier) process_call("b(identifier).text", Elements::Bold, identifier, nil, 'b') end
method to retrieve all b elements
# File lib/druid/assist.rb, line 548 def bs_for(identifier) find_elements("bs(identifier)", Elements::Bold, identifier, 'b') end
method to retrieve a canvas element
# File lib/druid/assist.rb, line 455 def canvas_for(identifier) find_element("canvas(identifier)", Elements::Canvas, identifier, 'canvas') end
method to retrieve an array of canvas elements
# File lib/druid/assist.rb, line 462 def canvass_for(identifier) find_elements("canvases(identifier)", Elements::Canvas, identifier, 'canvas') end
# File lib/druid/assist.rb, line 152 def cell_for identifier find_element("td(identifier)", Elements::TableCell, identifier, 'td') end
# File lib/druid/assist.rb, line 148 def cell_text_for identifier process_call("td(identifier).text", Elements::TableCell, identifier, nil, 'td') end
retrieve an array of cell elements
# File lib/druid/assist.rb, line 159 def cells_for identifier find_elements("tds(identifier)", Elements::TableCell, identifier, 'td') end
# File lib/druid/assist.rb, line 38 def check_checkbox identifier process_call("checkbox(identifier).set", Elements::CheckBox, identifier) end
# File lib/druid/assist.rb, line 46 def checkbox_checked? identifier process_call("checkbox(identifier).set?", Elements::CheckBox, identifier) end
# File lib/druid/assist.rb, line 50 def checkbox_for identifier find_element("checkbox(identifier)", Elements::CheckBox, identifier) end
retrieve an array of checkbox elements
# File lib/druid/assist.rb, line 57 def checkboxs_for identifier find_elements("checkboxes(identifier)", Elements::CheckBox, identifier) end
method to click on an area
# File lib/druid/assist.rb, line 434 def click_area_for(identifier) process_call("area(identifier).click", Elements::Area, identifier, nil, 'area') end
# File lib/druid/assist.rb, line 3 def click_link_for identifier process_call("link(identifier).click if identifier", Elements::Link, identifier) end
# File lib/druid/assist.rb, line 119 def div_for identifier find_element("div(identifier)", Elements::Div, identifier, 'div') end
# File lib/druid/assist.rb, line 115 def div_text_for identifier process_call("div(identifier).text", Elements::Div, identifier, nil, 'div') end
retrieve an array of div elements
# File lib/druid/assist.rb, line 126 def divs_for identifier find_elements("divs(identifier)", Elements::Div, identifier, 'div') end
# File lib/druid/assist.rb, line 509 def element_for(tag, identifier) find_element("#{tag.to_s}(identifier)", Elements::Element, identifier, tag.to_s) end
# File lib/druid/assist.rb, line 513 def elements_for(tag, identifier) find_elements("#{tag.to_s}s(identifier)", Elements::Element, identifier, tag.to_s) end
# File lib/druid/assist.rb, line 399 def file_field_for identifier find_element("file_field(identifier)", Elements::FileField, identifier) end
# File lib/druid/assist.rb, line 395 def file_field_value_set identifier, value process_call("file_field(identifier).set(value)", Elements::FileField, identifier, value) end
retrieve an array of file field elements
# File lib/druid/assist.rb, line 406 def file_fields_for identifier find_elements("file_fields(identifier)", Elements::FileField, identifier) end
# File lib/druid/assist.rb, line 196 def form_for identifier find_element("form(identifier)", Elements::Form, identifier) end
retrieve an array of form elements
# File lib/druid/assist.rb, line 203 def forms_for identifier find_elements("forms(identifier)", Elements::Form, identifier) end
# File lib/druid/assist.rb, line 294 def h1_for identifier find_element("h1(identifier)", Elements::Heading, identifier, 'h1') end
# File lib/druid/assist.rb, line 290 def h1_text_for identifier process_call("h1(identifier).text", Elements::Heading, identifier, nil, 'h1') end
retrieve an array of h1 elements
# File lib/druid/assist.rb, line 301 def h1s_for identifier find_elements("h1s(identifier)", Elements::Heading, identifier, 'h1') end
# File lib/druid/assist.rb, line 309 def h2_for identifier find_element("h2(identifier)", Elements::Heading, identifier, 'h2') end
# File lib/druid/assist.rb, line 305 def h2_text_for identifier process_call("h2(identifier).text", Elements::Heading, identifier, nil, 'h2') end
retrieve an array of h2 elements
# File lib/druid/assist.rb, line 316 def h2s_for identifier find_elements("h2s(identifier)", Elements::Heading, identifier, 'h2') end
# File lib/druid/assist.rb, line 324 def h3_for identifier find_element("h3(identifier)", Elements::Heading, identifier, 'h3') end
# File lib/druid/assist.rb, line 320 def h3_text_for identifier process_call("h3(identifier).text", Elements::Heading, identifier, nil, 'h3') end
retrieve an array of h3 elements
# File lib/druid/assist.rb, line 331 def h3s_for identifier find_elements("h3s(identifier)", Elements::Heading, identifier, 'h3') end
# File lib/druid/assist.rb, line 339 def h4_for identifier find_element("h4(identifier)", Elements::Heading, identifier, 'h4') end
# File lib/druid/assist.rb, line 335 def h4_text_for identifier process_call("h4(identifier).text", Elements::Heading, identifier, nil, 'h4') end
retrieve an array of h4 elements
# File lib/druid/assist.rb, line 346 def h4s_for identifier find_elements("h4s(identifier)", Elements::Heading, identifier, 'h4') end
# File lib/druid/assist.rb, line 354 def h5_for identifier find_element("h5(identifier)", Elements::Heading, identifier, 'h5') end
# File lib/druid/assist.rb, line 350 def h5_text_for identifier process_call("h5(identifier).text", Elements::Heading, identifier, nil, 'h5') end
retrieve an array of h5 elements
# File lib/druid/assist.rb, line 361 def h5s_for identifier find_elements("h5s(identifier)", Elements::Heading, identifier, 'h5') end
# File lib/druid/assist.rb, line 369 def h6_for identifier find_element("h6(identifier)", Elements::Heading, identifier, 'h6') end
# File lib/druid/assist.rb, line 365 def h6_text_for identifier process_call("h6(identifier).text", Elements::Heading, identifier, nil, 'h6') end
retrieve an array of h6 elements
# File lib/druid/assist.rb, line 376 def h6s_for identifier find_elements("h6s(identifier)", Elements::Heading, identifier, 'h6') end
method to retrieve the i element
# File lib/druid/assist.rb, line 562 def i_for(identifier) find_element("i(identifier)", Elements::Italic, identifier, 'i') end
method to retrieve the text for a i
# File lib/druid/assist.rb, line 555 def i_text_for(identifier) process_call("i(identifier).text", Elements::Italic, identifier, nil, 'i') end
# File lib/druid/assist.rb, line 178 def image_for identifier find_element("image(identifier)", Elements::Image, identifier) end
method to retrieve load status of an image element
# File lib/druid/assist.rb, line 192 def image_loaded_for(identifier) process_call("image(identifier).loaded?", Elements::Image, identifier) end
retrieve an array of image elements
# File lib/druid/assist.rb, line 185 def images_for identifier find_elements("images(identifier)", Elements::Image, identifier) end
method to retrieve all i elements
# File lib/druid/assist.rb, line 569 def is_for(identifier) find_elements("is(identifier)", Elements::Italic, identifier, 'i') end
method to return a Druid::Elements::Label
element
# File lib/druid/assist.rb, line 420 def label_for(identifier) find_element("label(identifier)", Elements::Label, identifier, 'label') end
method to return the text for a label
# File lib/druid/assist.rb, line 413 def label_text_for(identifier) process_call("label(identifier).text", Elements::Label, identifier, nil, 'label') end
method to retrieve an array of label elements
# File lib/druid/assist.rb, line 427 def labels_for(identifier) find_elements("labels(identifier)", Elements::Label, identifier, 'p') end
# File lib/druid/assist.rb, line 7 def link_for identifier find_element("link(identifier)", Elements::Link, identifier) end
retrieve all link elements
# File lib/druid/assist.rb, line 14 def links_for identifier find_elements("links(identifier)", Elements::Link, identifier) end
# File lib/druid/assist.rb, line 226 def list_item_for identifier find_element("li(identifier)", Elements::ListItem, identifier, 'li') end
# File lib/druid/assist.rb, line 222 def list_item_text_for identifier process_call("li(identifier).text", Elements::ListItem, identifier, nil, 'li') end
retrieve an array of list_item elements
# File lib/druid/assist.rb, line 233 def list_items_for identifier find_elements("lis(identifier)", Elements::ListItem, identifier, 'li') end
# File lib/druid/assist.rb, line 244 def ordered_list_for identifier find_element("ol(identifier)", Elements::OrderedList, identifier, 'ol') end
method to retrieve the text from an ordered list
# File lib/druid/assist.rb, line 240 def ordered_list_text_for(identifier) process_call("ol(identifier).text", Elements::OrderedList, identifier, nil, 'ol') end
retrieve an array of ordered_list elements
# File lib/druid/assist.rb, line 251 def ordered_lists_for identifier find_elements("ols(identifier)", Elements::OrderedList, identifier, 'ol') end
method to return a Druid
rooted at an element
# File lib/druid/assist.rb, line 576 def page_for(identifier, section_class) find_page(identifier, section_class) end
method to return a collection of Druids rooted at elements
# File lib/druid/assist.rb, line 583 def pages_for(identifier, section_class) SectionCollection[*find_pages(identifier, section_class)] end
# File lib/druid/assist.rb, line 384 def paragraph_for identifier find_element("p(identifier)", Elements::Paragraph, identifier, 'p') end
# File lib/druid/assist.rb, line 380 def paragraph_text_for identifier process_call("p(identifier).text", Elements::Paragraph, identifier, nil, 'p') end
retrieve an array of paragraph Elements
# File lib/druid/assist.rb, line 391 def paragraphs_for identifier find_elements("ps(identifier)", Elements::Paragraph, identifier, 'p') end
# File lib/druid/assist.rb, line 86 def radio_selected? identifier process_call("radio(identifier).set?", Elements::RadioButton, identifier) end
# File lib/druid/assist.rb, line 501 def row_for(identifier) find_element("tr(identifier)", Elements::TableRow, identifier, 'tr') end
method to retrieve the text from a table row_text_for
# File lib/druid/assist.rb, line 497 def row_text_for(identifier) process_call("tr(identifier).text", Elements::TableRow, identifier, nil, 'tr') end
# File lib/druid/assist.rb, line 505 def rows_for(identifier) find_elements("trs(identifier)", Elements::TableRow, identifier, 'tr') end
# File lib/druid/assist.rb, line 71 def select_list_for identifier find_element("select_list(identifier)", Elements::SelectList, identifier) end
# File lib/druid/assist.rb, line 65 def select_list_value_for identifier options = process_call("select_list(identifier).selected_options", Elements::SelectList, identifier) return nil if options.empty? options.first.text end
# File lib/druid/assist.rb, line 61 def select_list_value_set identifier, value process_call("select_list(identifier).select(value)", Elements::SelectList, identifier, value) end
retrieve an array of select_list elements
# File lib/druid/assist.rb, line 78 def select_lists_for identifier find_elements("select_lists(identifier)", Elements::SelectList, identifier) end
# File lib/druid/assist.rb, line 82 def select_radio identifier process_call("radio(identifier).set", Elements::RadioButton, identifier) end
# File lib/druid/assist.rb, line 167 def span_for identifier find_element("span(identifier)", Elements::Span, identifier, 'span') end
# File lib/druid/assist.rb, line 163 def span_text_for identifier process_call("span(identifier).text", Elements::Span, identifier, nil, 'span') end
retrieve an array of span elements
# File lib/druid/assist.rb, line 174 def spans_for identifier find_elements("spans(identifier)", Elements::Span, identifier, 'span') end
method to return a svg element
# File lib/druid/assist.rb, line 520 def svg_for(identifier) find_element("element(identifier)", Elements::Element, identifier) end
method to return an array of svg elements
# File lib/druid/assist.rb, line 527 def svgs_for(identifier) find_elements("element(identifier)", Elements::Element, identifier) end
# File lib/druid/assist.rb, line 137 def table_for identifier find_element("table(identifier)", Elements::Table, identifier, 'table') end
method to return the text for a table
# File lib/druid/assist.rb, line 133 def table_text_for(identifier) process_call("table(identifier).text", Elements::Table, identifier, nil, 'table') end
retrieve an array of table elements
# File lib/druid/assist.rb, line 144 def tables_for identifier find_elements("tables(identifier)", Elements::Table, identifier, 'table') end
# File lib/druid/assist.rb, line 263 def text_area_for identifier find_element("textarea(identifier)", Elements::TextArea, identifier) end
# File lib/druid/assist.rb, line 259 def text_area_value_for identifier process_call("textarea(identifier).value", Elements::TextArea, identifier) end
# File lib/druid/assist.rb, line 255 def text_area_value_set identifier, value process_call("textarea(identifier).set(value)", Elements::TextArea, identifier, value) end
retrieve an array of textarea elements
# File lib/druid/assist.rb, line 268 def text_areas_for identifier find_elements("textareas(identifier)", Elements::TextArea, identifier) end
# File lib/druid/assist.rb, line 18 def text_field_for identifier find_element("text_field(identifier)", Elements::TextField, identifier) end
# File lib/druid/assist.rb, line 30 def text_field_value_for identifier process_call("text_field(identifier).value", Elements::TextField, identifier) end
# File lib/druid/assist.rb, line 34 def text_field_value_set identifier, value process_call("text_field(identifier).set(value)", Elements::TextField, identifier, value) end
retrieve an array of hidden field elements
# File lib/druid/assist.rb, line 25 def text_fields_for(identifier) elements = find_elements("text_fields(identifier)", Elements::TextField, identifier) elements.select {|e| e.element.tag_name == "input"} end
# File lib/druid/assist.rb, line 42 def uncheck_checkbox identifier process_call("checkbox(identifier).clear", Elements::CheckBox, identifier) end
# File lib/druid/assist.rb, line 279 def unordered_list_for identifier find_element("ul(identifier)", Elements::UnOrderedList, identifier, 'ul') end
method to retrieve the text from an unordered list
# File lib/druid/assist.rb, line 275 def unordered_list_text_for(identifier) process_call("ul(identifier).text", Elements::UnOrderedList, identifier, nil, 'ul') end
retrieve an array of unordered_lists elements
# File lib/druid/assist.rb, line 286 def unordered_lists_for identifier find_elements("uls(identifier)", Elements::UnOrderedList, identifier, 'ul') end
method to retrieve an video element
# File lib/druid/assist.rb, line 483 def video_for(identifier) find_element("video(identifier)", Elements::Video, identifier, 'video') end
method to retrieve an array of audio elements
# File lib/druid/assist.rb, line 490 def videos_for(identifier) find_elements("videos(identifier)", Elements::Video, identifier, 'video') end
Private Instance Methods
# File lib/druid/assist.rb, line 596 def find_element(the_call, type, identifier, tag_name=nil) identifier, frame_identifiers = parse_identifiers(identifier, type, tag_name) element = driver.instance_eval "#{nested_frames(frame_identifiers)}#{the_call}" switch_to_default_content(frame_identifiers) type.new(element) end
# File lib/druid/assist.rb, line 589 def find_elements(the_call, type, identifier, tag_name=nil) identifier, frame_identifiers = parse_identifiers(identifier, type, tag_name) elements = driver.instance_eval "#{nested_frames(frame_identifiers)}#{the_call}" switch_to_default_content(frame_identifiers) elements.map { |element| type.new(element) } end
# File lib/druid/assist.rb, line 610 def find_page(identifier, section_class) identifier, frame_identifiers = parse_identifiers(identifier, Elements::Element, 'element') element = driver.instance_eval "#{nested_frames(frame_identifiers)}element(identifier)" switch_to_default_content(frame_identifiers) section_class.new(element) end
# File lib/druid/assist.rb, line 603 def find_pages(identifier, section_class) identifier, frame_identifiers = parse_identifiers(identifier, Elements::Element, 'element') elements = driver.instance_eval "#{nested_frames(frame_identifiers)}elements(identifier)" switch_to_default_content(frame_identifiers) elements.map { |element| section_class.new(element) } end
# File lib/druid/assist.rb, line 630 def nested_frames(frame_identifiers) return if frame_identifiers.nil? frame_str = '' frame_identifiers.each do |frame| type = frame.keys.first identifier = frame.values.first.map do |key, value| if value.is_a?(Regexp) ":#{key} => #{value.inspect}" elsif value.is_a? Integer ":#{key} => #{value}" else ":#{key} => '#{value}'" end end.join(', ') frame_str +="#{type.to_s}(#{identifier})." end frame_str end
# File lib/druid/assist.rb, line 624 def parse_identifiers(identifier, element, tag_name=nil) new_identifiers = identifier.dup frame_identifiers = new_identifiers.delete(:frame) return new_identifiers, frame_identifiers end
# File lib/druid/assist.rb, line 617 def process_call(the_call, type, identifier, value=nil, tag_name=nil) identifier, frame_identifiers = parse_identifiers(identifier, type, tag_name) value = driver.instance_eval "#{nested_frames(frame_identifiers)}#{the_call}" switch_to_default_content(frame_identifiers) value end
# File lib/druid/assist.rb, line 649 def switch_to_default_content(frame_identifiers) driver.browser.wd.switch_to.default_content unless frame_identifiers.nil? end