class LdsCheckbox

Public Class Methods

new(browser,idField,idBlock=nil,idScreen=nil) click to toggle source

constructor

# File lib/TNR360/components/lds_checkbox.rb, line 18
def initialize(browser,idField,idBlock=nil,idScreen=nil)
  @browser =browser
  @idField= idField
  @idBlock=idBlock
  @idScreen=idScreen
  update
  @exists
end

Public Instance Methods

check() click to toggle source

LdsScreen Actions

# File lib/TNR360/components/lds_checkbox.rb, line 141
def check
  @browser.div(:id => @idField).checkbox(:index => 0).when_present.set
  @checked=true
  @exists=true
  update
end
elementExists?(idElement) click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 92
def elementExists?(idElement)
  #this method assumes the screen/tab is already loaded
  oneIsVisible=false
  #if element not yet available in screen, wait for some time
  if (!@browser.div(:id => idElement).checkbox(:index => 0).exists?)
    @browser.div(:id => idElement).checkbox(:index => 0).when_present(10)
    oneIsVisible=true
  else
    if (!@browser.divs(:id => idElement).visible?)
      @browser.div(:id => idElement).each do |field|
        if field.visible?
          oneIsVisible=true
          break
        end
      end
      if !oneIsVisible
        @browser.div(:id => idElement).checkbox(:index => 0).when_present(10)
        oneIsVisible=true
      end
    end
  end
  oneIsVisible
end
findElement(idElement) click to toggle source

method locate current element

# File lib/TNR360/components/lds_checkbox.rb, line 54
def findElement idElement

  # @browser.div(:id => idElement).radio(:index => 0)
  @current_element=nil

  #wait for screen to become visible (find screen forcefully)
  proc=Proc.new {isScreenDisplayed }
  puts 'Screen found = '+ force_find_element(proc).to_s

  #wait for screen to become visible (find screen forcefully)
  proc=Proc.new {elementExists?(idElement) }
  @exists=force_find_element(proc)
  puts 'CheckBox found = '+@exists.to_s

  if (@browser.divs(:id => idElement).length>1 && @idBlock!=nil)
    #utiliser le id bloc
    @bloc=LdsBlock.new(@browser, @idBlock)
    @current_element=@bloc.getElement.div(:id => idElement).checkbox(:index => 0).when_present
  else
    if (@browser.divs(:id => idElement).length>1)
      @browser.divs(:id => idElement).each do |field|
        if field.visible?
          @current_element=field.checkbox(:index => 0)
          break
        end
      end
    else
      @current_element=@browser.div(:id => idElement).checkbox(:index => 0).when_present
    end
  end
  if @current_element.visible?
    puts 'element is visible'
  else
    puts 'element is NOT visible'
  end
  @current_element
end
getElement() click to toggle source

Getters

# File lib/TNR360/components/lds_checkbox.rb, line 158
def getElement
  @current_element
end
getIdBlock() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 165
def getIdBlock
  @idBlock
end
getIdScreen() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 168
def getIdScreen
  @idScreen
end
getIdentifier() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 162
def getIdentifier
  @idField
end
getLabel() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 179
def getLabel
 @label
end
getValue() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 175
 def getValue
@value
 end
isChecked() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 171
 def isChecked
 puts @checked
end
isEditable?() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 187
def isEditable?
@editable
end
isExist() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 191
def isExist
 @exists
end
isScreenDisplayed() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 116
def isScreenDisplayed
  if (@idScreen!=nil)
    @scr=LdsScreen.new(@browser, @idScreen)
    @scr.isVisible?
  else
    false
  end
end
isVisible?() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 183
def isVisible?
 @visible
 end
refresh() click to toggle source

refresh object status from browser

# File lib/TNR360/components/lds_checkbox.rb, line 28
def refresh
  #Look for element in browser
  @current_element= findElement @idField
  #update other data
  update
  @exists
end
to_s() click to toggle source

print object

# File lib/TNR360/components/lds_checkbox.rb, line 125
def to_s
  "\n***** CheckBox *****"+
   "\nId : "+no_null(@idField.to_s) +
   "\nIdBlock : "+ no_null(@IdBlock.to_s)+
   "\nIdScreen : "+ no_null(@IdScreen.to_s)  +
   "\nValue : "+  no_null(@value.to_s)+
   "\nLabel : "+  no_null(@label.to_s)+
   "\nVisible : "+  no_null(@visible.to_s)+
   "\nEditable : "+ no_null(@editable.to_s)+
   "\nExists : "+  no_null(@exists.to_s)+
   "\nNature : "+  no_null(@nature.to_s)+
    "\nChecked : "+ no_null(@checked.to_s)+
  "\n**********"
end
uncheck() click to toggle source
# File lib/TNR360/components/lds_checkbox.rb, line 148
def uncheck
  @browser.div(:id => @idField).checkbox(:index => 0).when_present.clear
  @checked=false
  @exists=true
  update
end

Private Instance Methods

update() click to toggle source

private method to update/save the status of the object

# File lib/TNR360/components/lds_checkbox.rb, line 37
def update
  @exists=false
  #Look for element in browser
  @current_element||= findElement @idField
  #fill label
  @label=@browser.label(:xpath => "//label[contains(@for,'"+@idField+"')]").when_present.text
  @checked= @current_element.set?
  @value=@current_element.set?
  #fill visible
  @visible=@current_element.visible?
  #fill editable
  @editable=!(@current_element.readonly?)
  #everything exists
  @exists=true
end