class PageObject::Platforms::LdsWatirWebDriver::PageObject
Watir implementation of the page object platform driver. You should not use the class directly. Instead you should include the PageObject
module in your page object and use the methods dynamically added from the PageObject::Accessors
module.
Attributes
Public Class Methods
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 17 def initialize(browser) @browser = browser end
Public Instance Methods
platform method to handle an alert popup See PageObject#alert
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 72 def alert(frame=nil, &block) switch_to_frame(frame) yield value = nil if @browser.alert.exists? value = @browser.alert.text @browser.alert.ok end switch_to_default_content(frame) value end
platform method to retrieve an area element
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 892 def area_for(identifier) find_watir_element("area(identifier)", Elements::Area, identifier, 'area') end
platform method to retrieve an array of area elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 899 def areas_for(identifier) find_watir_elements("areas(identifier)", Elements::Area, identifier, 'area') end
platform method to handle attaching to a running window See PageObject#attach_to_window
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 126 def attach_to_window(identifier, &block) win_id = {identifier.keys.first => /#{Regexp.escape(identifier.values.first)}/} @browser.window(win_id).use &block end
platform method to retrieve an audio element
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 920 def audio_for(identifier) find_watir_element("audio(identifier)", Elements::Audio, identifier, 'audio') end
platform method to retrieve an array of audio elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 927 def audios_for(identifier) find_watir_elements("audios(identifier)", Elements::Audio, identifier, 'audio') end
platform method to retrieve the b element See PageObject::Accessors#h1
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 987 def b_for(identifier) find_watir_element("b(identifier)", Elements::Bold, identifier, 'b') end
platform method to retrieve the text for a b See PageObject::Accessors#b
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 979 def b_text_for(identifier) process_watir_call("b(identifier).text", Elements::Bold, identifier, nil, 'b') end
platform method to go back to the previous page See PageObject#back
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 170 def back @browser.back end
platform method to retrieve an array of bs
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 994 def bs_for(identifier) find_watir_elements("bs(identifier)", Elements::Bold, identifier, 'b') end
platform method to retrieve a canvas element
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 906 def canvas_for(identifier) find_watir_element("canvas(identifier)", Elements::Canvas, identifier, 'canvas') end
platform method to retrieve an array of canvas elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 913 def canvass_for(identifier) find_watir_elements("canvases(identifier)", Elements::Canvas, identifier, 'canvas') end
platform method to retrieve a table cell element See PageObject::Accessors#cell
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 563 def cell_for(identifier) find_watir_element("td(identifier)", Elements::TableCell, identifier, 'td') end
platform method to retrieve the text from a table cell See PageObject::Accessors#cell
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 554 def cell_text_for(identifier) process_watir_call("td(identifier).text", Elements::TableCell, identifier, nil, 'td') end
platform method to retrieve an array of table cell elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 570 def cells_for(identifier) find_watir_elements("tds(identifier)", Elements::TableCell, identifier, 'td') end
platform method to check a checkbox See PageObject::Accessors#checkbox
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 389 def check_checkbox(identifier) process_watir_call("checkbox(identifier).set", Elements::CheckBox, identifier) end
platform method to determine if a checkbox is checked See PageObject::Accessors#checkbox
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 405 def checkbox_checked?(identifier) process_watir_call("checkbox(identifier).set?", Elements::CheckBox, identifier) end
platform method to return a PageObject::Elements::CheckBox
element See PageObject::Accessors#checkbox
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 413 def checkbox_for(identifier) find_watir_element("checkbox(identifier)", Elements::CheckBox, identifier) end
platform method to retrieve an array of checkbox elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 420 def checkboxs_for(identifier) find_watir_elements("checkboxes(identifier)", Elements::CheckBox, identifier) end
platform method to click on an area
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 885 def click_area_for(identifier) process_watir_call("area(identifier).click", Elements::Area, identifier, nil, 'area') end
platform method to click a link See PageObject::Accessors#link
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 363 def click_link_for(identifier) call = call_for_watir_element(identifier, "link(identifier)") process_watir_call("#{call}.click if identifier", Elements::Link, identifier) end
platform method to handle a confirm popup See PageObject#confirm
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 88 def confirm(response, frame=nil, &block) switch_to_frame(frame) yield value = nil if @browser.alert.exists? value = @browser.alert.text response ? @browser.alert.ok : @browser.alert.close end switch_to_default_content(frame) value end
platform method to get the current url See PageObject#current_url
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 33 def current_url @browser.url end
platform method to return a PageObject::Elements::Div
element See PageObject::Accessors#div
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 467 def div_for(identifier) find_watir_element("div(identifier)", Elements::Div, identifier, 'div') end
platform method to return the text for a div See PageObject::Accessors#div
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 459 def div_text_for(identifier) process_watir_call("div(identifier).text", Elements::Div, identifier, nil, 'div') end
platform method to retrieve an array of div elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 474 def divs_for(identifier) find_watir_elements("divs(identifier)", Elements::Div, identifier, 'div') end
platform method to return a PageObject::Elements::Element
element See PageObject::Accessors#element
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 949 def element_for(tag, identifier) find_watir_element("#{tag.to_s}(identifier)", Elements::Element, identifier, tag.to_s) end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 131 def element_with_focus element = browser.execute_script("return document.activeElement") type = element.type.to_sym if element.tag_name.to_sym == :input cls = ::PageObject::Elements.element_class_for(element.tag_name, type) cls.new(element, :platform => :lds_watir_webdriver) end
platform method to return an array of PageObject::Elements::Element
elements See PageObject::Accessors#element
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 957 def elements_for(tag, identifier) find_watir_elements("#{tag.to_s}s(identifier)", Elements::Element, identifier, tag.to_s) end
platform method to execute javascript on the browser See PageObject#execute_script
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 118 def execute_script(script, *args) @browser.execute_script(script, *args) end
platform method to retrieve a file_field element See PageObject::Accessors#file_field
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 871 def file_field_for(identifier) find_watir_element("file_field(identifier)", Elements::FileField, identifier) end
platform method to set the file on a file_field element See PageObject::Accessors#file_field
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 862 def file_field_value_set(identifier, value) process_watir_call("file_field(identifier).set(value)", Elements::FileField, identifier, value) end
platform method to retrieve an array of file field elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 878 def file_fields_for(identifier) find_watir_elements("file_fields(identifier)", Elements::FileField, identifier) end
platform method to retrieve a form element See PageObject::Accessors#form
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 593 def form_for(identifier) find_watir_element("form(identifier)", Elements::Form, identifier) end
platform method to retrieve an array of forms
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 600 def forms_for(identifier) find_watir_elements("forms(identifier)", Elements::Form, identifier) end
platform method to go forward to the next page See PageObject#forward
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 178 def forward @browser.forward end
platform method to retrieve the h1 element See PageObject::Accessors#h1
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 685 def h1_for(identifier) find_watir_element("h1(identifier)", Elements::Heading, identifier, 'h1') end
platform method to retrieve the text for a h1 See PageObject::Accessors#h1
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 677 def h1_text_for(identifier) process_watir_call("h1(identifier).text", Elements::Heading, identifier, nil, 'h1') end
platform method to retrieve an array of h1s
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 692 def h1s_for(identifier) find_watir_elements("h1s(identifier)", Elements::Heading, identifier, 'h1') end
platform method to retrieve the h2 element See PageObject::Accessors#h2
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 708 def h2_for(identifier) find_watir_element("h2(identifier)", Elements::Heading, identifier, 'h2') end
platform method to retrieve the text for a h2 See PageObject::Accessors#h2
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 700 def h2_text_for(identifier) process_watir_call("h2(identifier).text", Elements::Heading, identifier, nil, 'h2') end
platform method to retrieve an array of h2s
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 715 def h2s_for(identifier) find_watir_elements("h2s(identifier)", Elements::Heading, identifier, 'h2') end
platform method to retrieve the h3 element See PageObject::Accessors#h3
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 731 def h3_for(identifier) find_watir_element("h3(identifier)", Elements::Heading, identifier, 'h3') end
platform method to retrieve the text for a h3 See PageObject::Accessors#h3
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 723 def h3_text_for(identifier) process_watir_call("h3(identifier).text", Elements::Heading, identifier, nil, 'h3') end
platform method to retrieve an array of h3s
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 738 def h3s_for(identifier) find_watir_elements("h3s(identifier)", Elements::Heading, identifier, 'h3') end
platform method to retrieve the h4 element See PageObject::Accessors#h4
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 754 def h4_for(identifier) find_watir_element("h4(identifier)", Elements::Heading, identifier, 'h4') end
platform method to retrieve the text for a h4 See PageObject::Accessors#h4
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 746 def h4_text_for(identifier) process_watir_call("h4(identifier).text", Elements::Heading, identifier, nil, 'h4') end
platform method to retrieve an array of h4s
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 761 def h4s_for(identifier) find_watir_elements("h4s(identifier)", Elements::Heading, identifier, 'h4') end
platform method to retrieve the h5 element See PageObject::Accessors#h5
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 777 def h5_for(identifier) find_watir_element("h5(identifier)", Elements::Heading, identifier, 'h5') end
platform method to retrieve the text for a h5 See PageObject::Accessors#h5
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 769 def h5_text_for(identifier) process_watir_call("h5(identifier).text", Elements::Heading, identifier, nil, 'h5') end
platform method to retrieve an array of h5s
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 784 def h5s_for(identifier) find_watir_elements("h5s(identifier)", Elements::Heading, identifier, 'h5') end
platform method to retrieve the h6 element See PageObject::Accessors#h6
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 800 def h6_for(identifier) find_watir_element("h6(identifier)", Elements::Heading, identifier, 'h6') end
platform method to retrieve the text for a h6 See PageObject::Accessors#h6
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 792 def h6_text_for(identifier) process_watir_call("h6(identifier).text", Elements::Heading, identifier, nil, 'h6') end
platform method to retrieve an array of h6s
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 807 def h6s_for(identifier) find_watir_elements("h6s(identifier)", Elements::Heading, identifier, 'h6') end
platform method to retrieve the html for the current page See PageObject#html
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 49 def html @browser.html end
platform method to retrieve an image element See PageObject::Accessors#image
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 578 def image_for(identifier) find_watir_element("image(identifier)", Elements::Image, identifier) end
platform method to retrieve an array of image elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 585 def images_for(identifier) find_watir_elements("images(identifier)", Elements::Image, identifier) end
platform method to switch to a frame and execute a block See PageObject#in_frame
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 142 def in_frame(identifier, frame=nil, &block) frame = [] if frame.nil? frame << {frame: identifier} block.call(frame) end
platform method to switch to an iframe and execute a block See PageObject#in_frame
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 152 def in_iframe(identifier, frame=nil, &block) frame = [] if frame.nil? frame << {iframe: identifier} block.call(frame) end
platform method to return a PageObject::Elements::Label
element See PageObject::Accessors#label
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 846 def label_for(identifier) find_watir_element("label(identifier)", Elements::Label, identifier, 'label') end
platform method to return the text for a label See PageObject::Accessors#label
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 838 def label_text_for(identifier) process_watir_call("label(identifier).text", Elements::Label, identifier, nil, 'label') end
platform method to retrieve an array of label elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 854 def labels_for(identifier) find_watir_elements("labels(identifier)", Elements::Label, identifier, 'label') end
platform method to retrieve a text field element See PageObject::Accessors#text_field
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 272 def lds__ldstextfield_for(identifier,idBloc=nil,idScreen=nil) #find_watir_element("text_field(identifier)", Elements::TextField, identifier) LdsTextField.new(@browser,identifier,idBloc,idScreen) end
platform method to retrieve a text field element See PageObject::Accessors#text_field
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 263 def lds_generic_text_field_for(identifier,idBloc=nil,idScreen=nil) #find_watir_element("text_field(identifier)", Elements::TextField, identifier) LdsTextField.new(@browser,identifier,idBloc,idScreen).getElement end
platform method to get the value stored in a text field See PageObject::Accessors#text_field
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 244 def lds_text_field_value_for(identifier,idBloc=nil,idScreen=nil) # process_watir_call("text_field(identifier).value", Elements::TextField, identifier) LdsTextField.new(@browser,identifier,idBloc,idScreen).getValue end
platform method to set the value for a text field See PageObject::Accessors#text_field
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 254 def lds_text_field_value_set(identifier, value,idBloc=nil,idScreen=nil) #process_watir_call("text_field(identifier).set(value)", Elements::TextField, identifier, value) LdsTextField.new(@browser,identifier,idBloc,idScreen).fill value end
platform method to return a PageObject::Elements::Link
object see PageObject::Accessors#link
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 372 def link_for(identifier) call = call_for_watir_element(identifier, "link(identifier)") find_watir_element(call, Elements::Link, identifier) end
platform method to retrieve an array of link elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 380 def links_for(identifier) call = call_for_watir_elements(identifier, "links(identifier)") find_watir_elements(call, Elements::Link, identifier) end
platform method to retrieve a list item element See PageObject::Accessors#list_item
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 616 def list_item_for(identifier) find_watir_element("li(identifier)", Elements::ListItem, identifier, 'li') end
platform method to retrieve the text from a list item See PageObject::Accessors#list_item
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 608 def list_item_text_for(identifier) process_watir_call("li(identifier).text", Elements::ListItem, identifier, nil, 'li') end
platform method to retrieve an array of list items
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 623 def list_items_for(identifier) find_watir_elements("lis(identifier)", Elements::ListItem, identifier, 'li') end
platform method to retrieve an ordered list element See PageObject::Accessors#ordered_list
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 662 def ordered_list_for(identifier) find_watir_element("ol(identifier)", Elements::OrderedList, identifier, 'ol') end
platform method to retrieve the text from an ordered list See PageObject::Accessors#ordered_list
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 654 def ordered_list_text_for(identifier) process_watir_call("ol(identifier).text", Elements::OrderedList, identifier, nil, 'ol') end
platform method to retrieve an array of ordered lists
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 669 def ordered_lists_for(identifier) find_watir_elements("ols(identifier)", Elements::OrderedList, identifier, 'ol') end
platform method to retrieve the paragraph element See PageObject::Accessors#paragraph
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 823 def paragraph_for(identifier) find_watir_element("p(identifier)", Elements::Paragraph, identifier, 'p') end
platform method to retrieve the text for a paragraph See PageObject::Accessors#paragraph
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 815 def paragraph_text_for(identifier) process_watir_call("p(identifier).text", Elements::Paragraph, identifier, nil, 'p') end
platform method to retrieve an array of paragraph elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 830 def paragraphs_for(identifier) find_watir_elements("ps(identifier)", Elements::Paragraph, identifier, 'p') end
platform method to handle a prompt popup See PageObject#prompt
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 104 def prompt(answer, frame=nil, &block) switch_to_frame(frame) @browser.wd.execute_script "window.prompt = function(text, value) { window.__lastWatirPrompt = { message: text, default_value: value }; return #{answer}; }" yield result = @browser.wd.execute_script "return window.__lastWatirPrompt" switch_to_default_content(frame) result && result.dup.each_key { |k| result[k.to_sym] = result.delete(k) } result end
platform method to determine if a radio button is selected See PageObject::Accessors#radio_button
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 436 def radio_selected?(identifier) process_watir_call("radio(identifier).set?", Elements::RadioButton, identifier) end
platform method to refresh the page See PageObject#refresh
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 162 def refresh @browser.refresh end
platform method to save the current screenshot to a file See PageObject#save_screenshot
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 194 def save_screenshot(file_name) @browser.wd.save_screenshot(file_name) end
platform method to return the select list element See PageObject::Accessors#select_list
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 348 def select_list_for(identifier) find_watir_element("select_list(identifier)", Elements::SelectList, identifier) end
platform method to get the currently selected value from a select list See PageObject::Accessors#select_list
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 330 def select_list_value_for(identifier) process_watir_call("select_list(identifier).options.find {|o| o.selected?}.text", Elements::SelectList, identifier) end
platform method to select a value from a select list See PageObject::Accessors#select_list
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 339 def select_list_value_set(identifier, value) process_watir_call("select_list(identifier).select(value)", Elements::SelectList, identifier, value) end
platform method to retrieve an array of select_list elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 355 def select_lists_for(identifier) find_watir_elements("select_lists(identifier)", Elements::SelectList, identifier) end
platform method to select a radio button See PageObject::Accessors#radio_button
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 428 def select_radio(identifier) process_watir_call("radio(identifier).set", Elements::RadioButton, identifier) end
platform method to return a PageObject::Elements::Span
element See PageObject::Accessors#span
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 490 def span_for(identifier) find_watir_element("span(identifier)", Elements::Span, identifier, 'span') end
platform method to return the text for a span See PageObject::Accessors#span
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 482 def span_text_for(identifier) process_watir_call("span(identifier).text", Elements::Span, identifier, nil, 'span') end
platform method to retrieve an array of span elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 497 def spans_for(identifier) find_watir_elements("spans(identifier)", Elements::Span, identifier, 'span') end
platform method to return a svg element
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 964 def svg_for(identifier) find_watir_element("element(identifier)", Elements::Element, identifier) end
platform method to return an array of svg elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 971 def svgs_for(identifier) find_watir_elements("element(identifier)", Elements::Element, identifier) end
platform method to retrieve a table element See PageObject::Accessors#table
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 539 def table_for(identifier) find_watir_element("table(identifier)", Elements::Table, identifier, 'table') end
platform method to return the text for a table See PageObject::Accessors#table
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 531 def table_text_for(identifier) process_watir_call("table(identifier).text", Elements::Table, identifier, nil, 'table') end
platform method to retrieve an array of table elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 546 def tables_for(identifier) find_watir_elements("tables(identifier)", Elements::Table, identifier, 'table') end
platform method to retrieve the text from the current page See PageObject#text
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 41 def text @browser.text end
platform method to get the text area element See PageObject::Accessors#text_area
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 315 def text_area_for(identifier) find_watir_element("textarea(identifier)", Elements::TextArea, identifier) end
platform method to get the text from a textarea See PageObject::Accessors#text_area
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 307 def text_area_value_for(identifier) process_watir_call("textarea(identifier).value", Elements::TextArea, identifier) end
platform method to set text in a textarea See PageObject::Accessors#text_area
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 298 def text_area_value_set(identifier, value) process_watir_call("textarea(identifier).set(value)", Elements::TextArea, identifier, value) end
platform method to retrieve an array of textarea elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 322 def text_areas_for(identifier) find_watir_elements("textareas(identifier)", Elements::TextArea, identifier) end
platform method to retrieve a text field element See PageObject::Accessors#text_field
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 218 def text_field_for(identifier) find_watir_element("text_field(identifier)", Elements::TextField, identifier) end
platform method to get the value stored in a text field See PageObject::Accessors#text_field
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 202 def text_field_value_for(identifier) process_watir_call("text_field(identifier).value", Elements::TextField, identifier) end
platform method to set the value for a text field See PageObject::Accessors#text_field
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 210 def text_field_value_set(identifier, value) process_watir_call("text_field(identifier).set(value)", Elements::TextField, identifier, value) end
platform method to retrieve an array of text field elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 225 def text_fields_for(identifier) elements = find_watir_elements("text_fields(identifier)", Elements::TextField, identifier) elements.select {|e| e.element.tag_name == 'input'} end
platform method to retrieve the title for the current page See PageObject#title
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 57 def title @browser.title end
platform method to uncheck a checkbox See PageObject::Accessors#checkbox
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 397 def uncheck_checkbox(identifier) process_watir_call("checkbox(identifier).clear", Elements::CheckBox, identifier) end
platform method to retrieve an unordered list element See PageObject::Accessors#unordered_list
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 639 def unordered_list_for(identifier) find_watir_element("ul(identifier)", Elements::UnorderedList, identifier, 'ul') end
platform method to retrieve the text from an unordered list See PageObject::Accessors#unordered_list
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 631 def unordered_list_text_for(identifier) process_watir_call("ul(identifier).text", Elements::UnorderedList, identifier, nil, 'ul') end
platform method to retrieve an array of unordered lists
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 646 def unordered_lists_for(identifier) find_watir_elements("uls(identifier)", Elements::UnorderedList, identifier, 'ul') end
platform method to retrieve a video element
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 934 def video_for(identifier) find_watir_element("video(identifier)", Elements::Video, identifier, 'video') end
platform method to retrieve an array of video elements
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 941 def videos_for(identifier) find_watir_elements("videos(identifier)", Elements::Video, identifier, 'video') end
platform method to wait for a block to return true See PageObject#wait_until
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 64 def wait_until(timeout, message = nil, &block) @browser.wait_until(timeout, message, &block) end
Private Instance Methods
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1035 def add_tagname_if_needed identifier, tag return identifier if identifier.length < 2 and not identifier[:name] identifier[:tag_name] = tag if identifier[:name] identifier end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1072 def call_for_watir_element(identifier, call) identifier[:css] ? "#{css_element}" : call end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1076 def call_for_watir_elements(identifier, call) identifier[:css] ? "#{css_elements}" : call end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1064 def css_element "element(identifier)" end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1068 def css_elements "elements(identifier)" end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1007 def find_watir_element(the_call, type, identifier, tag_name=nil) identifier, frame_identifiers = parse_identifiers(identifier, type, tag_name) element = @browser.instance_eval "#{nested_frames(frame_identifiers)}#{the_call}" switch_to_default_content(frame_identifiers) type.new(element, :platform => :lds_watir_webdriver) end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1000 def find_watir_elements(the_call, type, identifier, tag_name=nil) identifier, frame_identifiers = parse_identifiers(identifier, type, tag_name) elements = @browser.instance_eval "#{nested_frames(frame_identifiers)}#{the_call}" switch_to_default_content(frame_identifiers) elements.map { |element| type.new(element, :platform => :lds_watir_webdriver) } end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1041 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.to_s.is_integer ":#{key} => #{value}" else ":#{key} => '#{value}'" end end.join(', ') frame_str += "#{type.to_s}(#{identifier})." end frame_str end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1028 def parse_identifiers(identifier, element, tag_name=nil) frame_identifiers = identifier.delete(:frame) identifier = add_tagname_if_needed identifier, tag_name if tag_name identifier = element.watir_identifier_for identifier return identifier, frame_identifiers end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1021 def process_lds_watir_call(the_call, type, identifier, value=nil, tag_name=nil) identifier, frame_identifiers = parse_identifiers(identifier, type, tag_name) value = @browser.instance_eval "#{nested_frames(frame_identifiers)}#{the_call}" switch_to_default_content(frame_identifiers) value end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1014 def process_watir_call(the_call, type, identifier, value=nil, tag_name=nil) identifier, frame_identifiers = parse_identifiers(identifier, type, tag_name) value = @browser.instance_eval "#{nested_frames(frame_identifiers)}#{the_call}" switch_to_default_content(frame_identifiers) value end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1060 def switch_to_default_content(frame_identifiers) @browser.wd.switch_to.default_content unless frame_identifiers.nil? end
# File lib/page-object/platforms/lds_watir_webdriver/page_object.rb, line 1080 def switch_to_frame(frame_identifiers) unless frame_identifiers.nil? frame_identifiers.each do |frame| frame_id = frame.values.first value = frame_id.values.first @browser.wd.switch_to.frame(value) end end end