Class: PageObject::Platforms::WatirWebDriver::PageObject

Inherits:
Object
  • Object
show all
Defined in:
lib/page-object/platforms/watir_webdriver/page_object.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(browser) ⇒ PageObject

Returns a new instance of PageObject.



17
18
19
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 17

def initialize(browser)
  @browser = browser
end

Instance Attribute Details

#browserObject (readonly)

Returns the value of attribute browser.



15
16
17
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 15

def browser
  @browser
end

Instance Method Details

#alert(frame = nil, &block) ⇒ Object

platform method to handle an alert popup See PageObject#alert



72
73
74
75
76
77
78
79
80
81
82
# File 'lib/page-object/platforms/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

#area_for(identifier) ⇒ Object

platform method to retrieve an area element



892
893
894
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 892

def area_for(identifier)
  find_watir_element("area(identifier)", Elements::Area, identifier, 'area')
end

#areas_for(identifier) ⇒ Object

platform method to retrieve an array of area elements



899
900
901
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 899

def areas_for(identifier)
  find_watir_elements("areas(identifier)", Elements::Area, identifier, 'area')
end

#attach_to_window(identifier, &block) ⇒ Object

platform method to handle attaching to a running window See PageObject#attach_to_window



126
127
128
129
# File 'lib/page-object/platforms/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

#audio_for(identifier) ⇒ Object

platform method to retrieve an audio element



920
921
922
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 920

def audio_for(identifier)
  find_watir_element("audio(identifier)", Elements::Audio, identifier, 'audio')
end

#audios_for(identifier) ⇒ Object

platform method to retrieve an array of audio elements



927
928
929
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 927

def audios_for(identifier)
  find_watir_elements("audios(identifier)", Elements::Audio, identifier, 'audio')
end

#b_for(identifier) ⇒ Object

platform method to retrieve the b element See PageObject::Accessors#h1



987
988
989
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 987

def b_for(identifier)
  find_watir_element("b(identifier)", Elements::Bold, identifier, 'b')
end

#b_text_for(identifier) ⇒ Object

platform method to retrieve the text for a b See PageObject::Accessors#b



979
980
981
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 979

def b_text_for(identifier)
  process_watir_call("b(identifier).text", Elements::Bold, identifier, nil, 'b')
end

#backObject

platform method to go back to the previous page See PageObject#back



170
171
172
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 170

def back
  @browser.back
end

#bs_for(identifier) ⇒ Object

platform method to retrieve an array of bs



994
995
996
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 994

def bs_for(identifier)
  find_watir_elements("bs(identifier)", Elements::Bold, identifier, 'b')
end

#button_for(identifier) ⇒ Object

platform method to retrieve a button element See PageObject::Accessors#button



514
515
516
517
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 514

def button_for(identifier)
  call = call_for_watir_element(identifier, "button(identifier)")
  find_watir_element(call, Elements::Button, identifier)
end

#buttons_for(identifier) ⇒ Object

platform method to retrieve an array of button elements



522
523
524
525
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 522

def buttons_for(identifier)
  call = call_for_watir_elements(identifier, "buttons(identifier)")
  find_watir_elements(call, Elements::Button, identifier)
end

#canvas_for(identifier) ⇒ Object

platform method to retrieve a canvas element



906
907
908
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 906

def canvas_for(identifier)
  find_watir_element("canvas(identifier)", Elements::Canvas, identifier, 'canvas')
end

#canvass_for(identifier) ⇒ Object

platform method to retrieve an array of canvas elements



913
914
915
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 913

def canvass_for(identifier)
  find_watir_elements("canvases(identifier)", Elements::Canvas, identifier, 'canvas')
end

#cell_for(identifier) ⇒ Object

platform method to retrieve a table cell element See PageObject::Accessors#cell



563
564
565
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 563

def cell_for(identifier)
  find_watir_element("td(identifier)", Elements::TableCell, identifier, 'td')
end

#cell_text_for(identifier) ⇒ Object

platform method to retrieve the text from a table cell See PageObject::Accessors#cell



554
555
556
557
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 554

def cell_text_for(identifier)
  process_watir_call("td(identifier).text", Elements::TableCell, identifier,
                     nil, 'td')
end

#cells_for(identifier) ⇒ Object

platform method to retrieve an array of table cell elements



570
571
572
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 570

def cells_for(identifier)
  find_watir_elements("tds(identifier)", Elements::TableCell, identifier, 'td')
end

#check_checkbox(identifier) ⇒ Object

platform method to check a checkbox See PageObject::Accessors#checkbox



389
390
391
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 389

def check_checkbox(identifier)
  process_watir_call("checkbox(identifier).set", Elements::CheckBox, identifier)
end

#checkbox_checked?(identifier) ⇒ Boolean

platform method to determine if a checkbox is checked See PageObject::Accessors#checkbox

Returns:

  • (Boolean)


405
406
407
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 405

def checkbox_checked?(identifier)
  process_watir_call("checkbox(identifier).set?", Elements::CheckBox, identifier)
end

#checkbox_for(identifier) ⇒ Object

platform method to return a PageObject::Elements::CheckBox element See PageObject::Accessors#checkbox



413
414
415
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 413

def checkbox_for(identifier)
  find_watir_element("checkbox(identifier)", Elements::CheckBox, identifier)
end

#checkboxs_for(identifier) ⇒ Object

platform method to retrieve an array of checkbox elements



420
421
422
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 420

def checkboxs_for(identifier)
  find_watir_elements("checkboxes(identifier)", Elements::CheckBox, identifier)
end

#clear_cookiesObject

platform method to clear the cookies from the browser See PageObject#clear_cookies



186
187
188
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 186

def clear_cookies
  @browser.cookies.clear
end

#click_area_for(identifier) ⇒ Object

platform method to click on an area



885
886
887
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 885

def click_area_for(identifier)
  process_watir_call("area(identifier).click", Elements::Area, identifier, nil, 'area')
end

#click_button_for(identifier) ⇒ Object

platform method to click a button See PageObject::Accessors#button



505
506
507
508
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 505

def click_button_for(identifier)
  call = call_for_watir_element(identifier, "button(identifier)")
  process_watir_call("#{call}.click", Elements::Button, identifier)
end

platform method to click a link See PageObject::Accessors#link



363
364
365
366
# File 'lib/page-object/platforms/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

#confirm(response, frame = nil, &block) ⇒ Object

platform method to handle a confirm popup See PageObject#confirm



88
89
90
91
92
93
94
95
96
97
98
# File 'lib/page-object/platforms/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

#current_urlObject

platform method to get the current url See PageObject#current_url



33
34
35
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 33

def current_url
  @browser.url
end

#div_for(identifier) ⇒ Object

platform method to return a PageObject::Elements::Div element See PageObject::Accessors#div



467
468
469
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 467

def div_for(identifier)
  find_watir_element("div(identifier)", Elements::Div, identifier, 'div')
end

#div_text_for(identifier) ⇒ Object

platform method to return the text for a div See PageObject::Accessors#div



459
460
461
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 459

def div_text_for(identifier)
  process_watir_call("div(identifier).text", Elements::Div, identifier, nil, 'div')
end

#divs_for(identifier) ⇒ Object

platform method to retrieve an array of div elements



474
475
476
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 474

def divs_for(identifier)
  find_watir_elements("divs(identifier)", Elements::Div, identifier, 'div')
end

#element_for(tag, identifier) ⇒ Object

platform method to return a PageObject::Elements::Element element See PageObject::Accessors#element



949
950
951
# File 'lib/page-object/platforms/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

#element_with_focusObject



131
132
133
134
135
136
# File 'lib/page-object/platforms/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 => :watir_webdriver)    
end

#elements_for(tag, identifier) ⇒ Object

platform method to return an array of PageObject::Elements::Element elements See PageObject::Accessors#element



957
958
959
# File 'lib/page-object/platforms/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

#execute_script(script, *args) ⇒ Object

platform method to execute javascript on the browser See PageObject#execute_script



118
119
120
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 118

def execute_script(script, *args)
  @browser.execute_script(script, *args)
end

#file_field_for(identifier) ⇒ Object

platform method to retrieve a file_field element See PageObject::Accessors#file_field



871
872
873
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 871

def file_field_for(identifier)
  find_watir_element("file_field(identifier)", Elements::FileField, identifier)
end

#file_field_value_set(identifier, value) ⇒ Object

platform method to set the file on a file_field element See PageObject::Accessors#file_field



862
863
864
865
# File 'lib/page-object/platforms/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

#file_fields_for(identifier) ⇒ Object

platform method to retrieve an array of file field elements



878
879
880
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 878

def file_fields_for(identifier)
  find_watir_elements("file_fields(identifier)", Elements::FileField, identifier)
end

#form_for(identifier) ⇒ Object

platform method to retrieve a form element See PageObject::Accessors#form



593
594
595
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 593

def form_for(identifier)
  find_watir_element("form(identifier)", Elements::Form, identifier)
end

#forms_for(identifier) ⇒ Object

platform method to retrieve an array of forms



600
601
602
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 600

def forms_for(identifier)
  find_watir_elements("forms(identifier)", Elements::Form, identifier)
end

#forwardObject

platform method to go forward to the next page See PageObject#forward



178
179
180
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 178

def forward
  @browser.forward
end

#h1_for(identifier) ⇒ Object

platform method to retrieve the h1 element See PageObject::Accessors#h1



685
686
687
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 685

def h1_for(identifier)
  find_watir_element("h1(identifier)", Elements::Heading, identifier, 'h1')
end

#h1_text_for(identifier) ⇒ Object

platform method to retrieve the text for a h1 See PageObject::Accessors#h1



677
678
679
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 677

def h1_text_for(identifier)
  process_watir_call("h1(identifier).text", Elements::Heading, identifier, nil, 'h1')
end

#h1s_for(identifier) ⇒ Object

platform method to retrieve an array of h1s



692
693
694
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 692

def h1s_for(identifier)
  find_watir_elements("h1s(identifier)", Elements::Heading, identifier, 'h1')
end

#h2_for(identifier) ⇒ Object

platform method to retrieve the h2 element See PageObject::Accessors#h2



708
709
710
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 708

def h2_for(identifier)
  find_watir_element("h2(identifier)", Elements::Heading, identifier, 'h2')
end

#h2_text_for(identifier) ⇒ Object

platform method to retrieve the text for a h2 See PageObject::Accessors#h2



700
701
702
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 700

def h2_text_for(identifier)
  process_watir_call("h2(identifier).text", Elements::Heading, identifier, nil, 'h2')
end

#h2s_for(identifier) ⇒ Object

platform method to retrieve an array of h2s



715
716
717
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 715

def h2s_for(identifier)
  find_watir_elements("h2s(identifier)", Elements::Heading, identifier, 'h2')
end

#h3_for(identifier) ⇒ Object

platform method to retrieve the h3 element See PageObject::Accessors#h3



731
732
733
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 731

def h3_for(identifier)
  find_watir_element("h3(identifier)", Elements::Heading, identifier, 'h3')
end

#h3_text_for(identifier) ⇒ Object

platform method to retrieve the text for a h3 See PageObject::Accessors#h3



723
724
725
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 723

def h3_text_for(identifier)
  process_watir_call("h3(identifier).text", Elements::Heading, identifier, nil, 'h3')
end

#h3s_for(identifier) ⇒ Object

platform method to retrieve an array of h3s



738
739
740
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 738

def h3s_for(identifier)
  find_watir_elements("h3s(identifier)", Elements::Heading, identifier, 'h3')
end

#h4_for(identifier) ⇒ Object

platform method to retrieve the h4 element See PageObject::Accessors#h4



754
755
756
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 754

def h4_for(identifier)
  find_watir_element("h4(identifier)", Elements::Heading, identifier, 'h4')
end

#h4_text_for(identifier) ⇒ Object

platform method to retrieve the text for a h4 See PageObject::Accessors#h4



746
747
748
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 746

def h4_text_for(identifier)
  process_watir_call("h4(identifier).text", Elements::Heading, identifier, nil, 'h4')
end

#h4s_for(identifier) ⇒ Object

platform method to retrieve an array of h4s



761
762
763
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 761

def h4s_for(identifier)
  find_watir_elements("h4s(identifier)", Elements::Heading, identifier, 'h4')
end

#h5_for(identifier) ⇒ Object

platform method to retrieve the h5 element See PageObject::Accessors#h5



777
778
779
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 777

def h5_for(identifier)
  find_watir_element("h5(identifier)", Elements::Heading, identifier, 'h5')
end

#h5_text_for(identifier) ⇒ Object

platform method to retrieve the text for a h5 See PageObject::Accessors#h5



769
770
771
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 769

def h5_text_for(identifier)
  process_watir_call("h5(identifier).text", Elements::Heading, identifier, nil, 'h5')
end

#h5s_for(identifier) ⇒ Object

platform method to retrieve an array of h5s



784
785
786
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 784

def h5s_for(identifier)
  find_watir_elements("h5s(identifier)", Elements::Heading, identifier, 'h5')
end

#h6_for(identifier) ⇒ Object

platform method to retrieve the h6 element See PageObject::Accessors#h6



800
801
802
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 800

def h6_for(identifier)
  find_watir_element("h6(identifier)", Elements::Heading, identifier, 'h6')
end

#h6_text_for(identifier) ⇒ Object

platform method to retrieve the text for a h6 See PageObject::Accessors#h6



792
793
794
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 792

def h6_text_for(identifier)
  process_watir_call("h6(identifier).text", Elements::Heading, identifier, nil, 'h6')
end

#h6s_for(identifier) ⇒ Object

platform method to retrieve an array of h6s



807
808
809
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 807

def h6s_for(identifier)
  find_watir_elements("h6s(identifier)", Elements::Heading, identifier, 'h6')
end

#hidden_field_for(identifier) ⇒ Object

platform method to retrieve a hidden field element See PageObject::Accessors#hidden_field



283
284
285
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 283

def hidden_field_for(identifier)
  find_watir_element("hidden(identifier)", Elements::HiddenField, identifier)
end

#hidden_field_value_for(identifier) ⇒ Object

platform method to get the value stored in a hidden field See PageObject::Accessors#hidden_field



234
235
236
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 234

def hidden_field_value_for(identifier)
  process_watir_call("hidden(identifier).value", Elements::HiddenField, identifier)
end

#hidden_fields_for(identifier) ⇒ Object

platform method to retrieve an array of hidden field elements



290
291
292
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 290

def hidden_fields_for(identifier)
  find_watir_elements("hiddens(identifier)", Elements::HiddenField, identifier)
end

#htmlObject

platform method to retrieve the html for the current page See PageObject#html



49
50
51
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 49

def html
  @browser.html
end

#image_for(identifier) ⇒ Object

platform method to retrieve an image element See PageObject::Accessors#image



578
579
580
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 578

def image_for(identifier)
  find_watir_element("image(identifier)", Elements::Image, identifier)
end

#images_for(identifier) ⇒ Object

platform method to retrieve an array of image elements



585
586
587
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 585

def images_for(identifier)
  find_watir_elements("images(identifier)", Elements::Image, identifier)
end

#in_frame(identifier, frame = nil, &block) ⇒ Object

platform method to switch to a frame and execute a block See PageObject#in_frame



142
143
144
145
146
# File 'lib/page-object/platforms/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

#in_iframe(identifier, frame = nil, &block) ⇒ Object

platform method to switch to an iframe and execute a block See PageObject#in_frame



152
153
154
155
156
# File 'lib/page-object/platforms/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

#label_for(identifier) ⇒ Object

platform method to return a PageObject::Elements::Label element See PageObject::Accessors#label



846
847
848
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 846

def label_for(identifier)
  find_watir_element("label(identifier)", Elements::Label, identifier, 'label')
end

#label_text_for(identifier) ⇒ Object

platform method to return the text for a label See PageObject::Accessors#label



838
839
840
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 838

def label_text_for(identifier)
  process_watir_call("label(identifier).text", Elements::Label, identifier, nil, 'label')
end

#labels_for(identifier) ⇒ Object

platform method to retrieve an array of label elements



854
855
856
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 854

def labels_for(identifier)
  find_watir_elements("labels(identifier)", Elements::Label, identifier, 'label')
end

#lds__ldstextfield_for(identifier, idBloc = nil, idScreen = nil) ⇒ Object

platform method to retrieve a text field element See PageObject::Accessors#text_field



272
273
274
275
# File 'lib/page-object/platforms/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

#lds_generic_text_field_for(identifier, idBloc = nil, idScreen = nil) ⇒ Object

platform method to retrieve a text field element See PageObject::Accessors#text_field



263
264
265
266
# File 'lib/page-object/platforms/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

#lds_text_field_value_for(identifier, idBloc = nil, idScreen = nil) ⇒ Object

platform method to get the value stored in a text field See PageObject::Accessors#text_field



244
245
246
247
248
# File 'lib/page-object/platforms/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

#lds_text_field_value_set(identifier, value, idBloc = nil, idScreen = nil) ⇒ Object

platform method to set the value for a text field See PageObject::Accessors#text_field



254
255
256
257
# File 'lib/page-object/platforms/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



372
373
374
375
# File 'lib/page-object/platforms/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



380
381
382
383
# File 'lib/page-object/platforms/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

#list_item_for(identifier) ⇒ Object

platform method to retrieve a list item element See PageObject::Accessors#list_item



616
617
618
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 616

def list_item_for(identifier)
  find_watir_element("li(identifier)", Elements::ListItem, identifier, 'li')
end

#list_item_text_for(identifier) ⇒ Object

platform method to retrieve the text from a list item See PageObject::Accessors#list_item



608
609
610
# File 'lib/page-object/platforms/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

#list_items_for(identifier) ⇒ Object

platform method to retrieve an array of list items



623
624
625
# File 'lib/page-object/platforms/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 navigate to a provided url See PageObject#navigate_to



25
26
27
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 25

def navigate_to(url)
  @browser.goto url
end

#ordered_list_for(identifier) ⇒ Object

platform method to retrieve an ordered list element See PageObject::Accessors#ordered_list



662
663
664
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 662

def ordered_list_for(identifier)
  find_watir_element("ol(identifier)", Elements::OrderedList, identifier, 'ol')
end

#ordered_list_text_for(identifier) ⇒ Object

platform method to retrieve the text from an ordered list See PageObject::Accessors#ordered_list



654
655
656
# File 'lib/page-object/platforms/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

#ordered_lists_for(identifier) ⇒ Object

platform method to retrieve an array of ordered lists



669
670
671
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 669

def ordered_lists_for(identifier)
  find_watir_elements("ols(identifier)", Elements::OrderedList, identifier, 'ol')
end

#paragraph_for(identifier) ⇒ Object

platform method to retrieve the paragraph element See PageObject::Accessors#paragraph



823
824
825
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 823

def paragraph_for(identifier)
  find_watir_element("p(identifier)", Elements::Paragraph, identifier, 'p')
end

#paragraph_text_for(identifier) ⇒ Object

platform method to retrieve the text for a paragraph See PageObject::Accessors#paragraph



815
816
817
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 815

def paragraph_text_for(identifier)
  process_watir_call("p(identifier).text", Elements::Paragraph, identifier, nil, 'p')
end

#paragraphs_for(identifier) ⇒ Object

platform method to retrieve an array of paragraph elements



830
831
832
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 830

def paragraphs_for(identifier)
  find_watir_elements("ps(identifier)", Elements::Paragraph, identifier, 'p')
end

#prompt(answer, frame = nil, &block) ⇒ Object

platform method to handle a prompt popup See PageObject#prompt



104
105
106
107
108
109
110
111
112
# File 'lib/page-object/platforms/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

#radio_button_for(identifier) ⇒ Object

platform method to return a PageObject::Eements::RadioButton element See PageObject::Accessors#radio_button



444
445
446
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 444

def radio_button_for(identifier)
  find_watir_element("radio(identifier)", Elements::RadioButton, identifier)
end

#radio_buttons_for(identifier) ⇒ Object

platform method to retrieve an array of radio button elements



451
452
453
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 451

def radio_buttons_for(identifier)
  find_watir_elements("radios(identifier)", Elements::RadioButton, identifier)
end

#radio_selected?(identifier) ⇒ Boolean

platform method to determine if a radio button is selected See PageObject::Accessors#radio_button

Returns:

  • (Boolean)


436
437
438
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 436

def radio_selected?(identifier)
  process_watir_call("radio(identifier).set?", Elements::RadioButton, identifier)
end

#refreshObject

platform method to refresh the page See PageObject#refresh



162
163
164
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 162

def refresh
  @browser.refresh
end

#save_screenshot(file_name) ⇒ Object

platform method to save the current screenshot to a file See PageObject#save_screenshot



194
195
196
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 194

def save_screenshot(file_name)
  @browser.wd.save_screenshot(file_name)
end

#select_list_for(identifier) ⇒ Object

platform method to return the select list element See PageObject::Accessors#select_list



348
349
350
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 348

def select_list_for(identifier)
  find_watir_element("select_list(identifier)", Elements::SelectList, identifier)
end

#select_list_value_for(identifier) ⇒ Object

platform method to get the currently selected value from a select list See PageObject::Accessors#select_list



330
331
332
333
# File 'lib/page-object/platforms/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

#select_list_value_set(identifier, value) ⇒ Object

platform method to select a value from a select list See PageObject::Accessors#select_list



339
340
341
342
# File 'lib/page-object/platforms/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

#select_lists_for(identifier) ⇒ Object

platform method to retrieve an array of select_list elements



355
356
357
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 355

def select_lists_for(identifier)
  find_watir_elements("select_lists(identifier)", Elements::SelectList, identifier)
end

#select_radio(identifier) ⇒ Object

platform method to select a radio button See PageObject::Accessors#radio_button



428
429
430
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 428

def select_radio(identifier)
  process_watir_call("radio(identifier).set", Elements::RadioButton, identifier)
end

#span_for(identifier) ⇒ Object

platform method to return a PageObject::Elements::Span element See PageObject::Accessors#span



490
491
492
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 490

def span_for(identifier)
  find_watir_element("span(identifier)", Elements::Span, identifier, 'span')
end

#span_text_for(identifier) ⇒ Object

platform method to return the text for a span See PageObject::Accessors#span



482
483
484
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 482

def span_text_for(identifier)
  process_watir_call("span(identifier).text", Elements::Span, identifier, nil, 'span')
end

#spans_for(identifier) ⇒ Object

platform method to retrieve an array of span elements



497
498
499
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 497

def spans_for(identifier)
  find_watir_elements("spans(identifier)", Elements::Span, identifier, 'span')
end

#svg_for(identifier) ⇒ Object

platform method to return a svg element



964
965
966
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 964

def svg_for(identifier)
  find_watir_element("element(identifier)", Elements::Element, identifier)
end

#svgs_for(identifier) ⇒ Object

platform method to return an array of svg elements



971
972
973
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 971

def svgs_for(identifier)
  find_watir_elements("element(identifier)", Elements::Element, identifier)
end

#table_for(identifier) ⇒ Object

platform method to retrieve a table element See PageObject::Accessors#table



539
540
541
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 539

def table_for(identifier)
  find_watir_element("table(identifier)", Elements::Table, identifier, 'table')
end

#table_text_for(identifier) ⇒ Object

platform method to return the text for a table See PageObject::Accessors#table



531
532
533
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 531

def table_text_for(identifier)
  process_watir_call("table(identifier).text", Elements::Table, identifier, nil, 'table')
end

#tables_for(identifier) ⇒ Object

platform method to retrieve an array of table elements



546
547
548
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 546

def tables_for(identifier)
  find_watir_elements("tables(identifier)", Elements::Table, identifier, 'table')
end

#textObject

platform method to retrieve the text from the current page See PageObject#text



41
42
43
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 41

def text
  @browser.text
end

#text_area_for(identifier) ⇒ Object

platform method to get the text area element See PageObject::Accessors#text_area



315
316
317
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 315

def text_area_for(identifier)
  find_watir_element("textarea(identifier)", Elements::TextArea, identifier)
end

#text_area_value_for(identifier) ⇒ Object

platform method to get the text from a textarea See PageObject::Accessors#text_area



307
308
309
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 307

def text_area_value_for(identifier)
  process_watir_call("textarea(identifier).value", Elements::TextArea, identifier)
end

#text_area_value_set(identifier, value) ⇒ Object

platform method to set text in a textarea See PageObject::Accessors#text_area



298
299
300
301
# File 'lib/page-object/platforms/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

#text_areas_for(identifier) ⇒ Object

platform method to retrieve an array of textarea elements



322
323
324
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 322

def text_areas_for(identifier)
  find_watir_elements("textareas(identifier)", Elements::TextArea, identifier)
end

#text_field_for(identifier) ⇒ Object

platform method to retrieve a text field element See PageObject::Accessors#text_field



218
219
220
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 218

def text_field_for(identifier)
  find_watir_element("text_field(identifier)", Elements::TextField, identifier)
end

#text_field_value_for(identifier) ⇒ Object

platform method to get the value stored in a text field See PageObject::Accessors#text_field



202
203
204
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 202

def text_field_value_for(identifier)
  process_watir_call("text_field(identifier).value", Elements::TextField, identifier)
end

#text_field_value_set(identifier, value) ⇒ Object

platform method to set the value for a text field See PageObject::Accessors#text_field



210
211
212
# File 'lib/page-object/platforms/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

#text_fields_for(identifier) ⇒ Object

platform method to retrieve an array of text field elements



225
226
227
228
# File 'lib/page-object/platforms/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

#titleObject

platform method to retrieve the title for the current page See PageObject#title



57
58
59
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 57

def title
  @browser.title
end

#uncheck_checkbox(identifier) ⇒ Object

platform method to uncheck a checkbox See PageObject::Accessors#checkbox



397
398
399
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 397

def uncheck_checkbox(identifier)
  process_watir_call("checkbox(identifier).clear", Elements::CheckBox, identifier)
end

#unordered_list_for(identifier) ⇒ Object

platform method to retrieve an unordered list element See PageObject::Accessors#unordered_list



639
640
641
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 639

def unordered_list_for(identifier)
  find_watir_element("ul(identifier)", Elements::UnorderedList, identifier, 'ul')
end

#unordered_list_text_for(identifier) ⇒ Object

platform method to retrieve the text from an unordered list See PageObject::Accessors#unordered_list



631
632
633
# File 'lib/page-object/platforms/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

#unordered_lists_for(identifier) ⇒ Object

platform method to retrieve an array of unordered lists



646
647
648
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 646

def unordered_lists_for(identifier)
  find_watir_elements("uls(identifier)", Elements::UnorderedList, identifier, 'ul')
end

#video_for(identifier) ⇒ Object

platform method to retrieve a video element



934
935
936
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 934

def video_for(identifier)
  find_watir_element("video(identifier)", Elements::Video, identifier, 'video')
end

#videos_for(identifier) ⇒ Object

platform method to retrieve an array of video elements



941
942
943
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 941

def videos_for(identifier)
  find_watir_elements("videos(identifier)", Elements::Video, identifier, 'video')
end

#wait_until(timeout, message = nil, &block) ⇒ Object

platform method to wait for a block to return true See PageObject#wait_until



64
65
66
# File 'lib/page-object/platforms/watir_webdriver/page_object.rb', line 64

def wait_until(timeout, message = nil, &block)
  @browser.wait_until(timeout, message, &block)
end