Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

require 'rubygems'
require 'selenium-webdriver'
require 'jquery'

require_relative "../module/DriverUtility"

class Time_Picker
include DriverUtility


def initialize(driver)
@driver = driver
end

def clickTimePickerButton()
click(:css, "i.icon-time")
end

def convertMinuteToRowID(minStr)
minRowCount = getElements(:css, 'b.minute ul li').length

minRowCount.downto(1) do |rowID|
mintueStr = getTextForElement(:css, "b.minute ul li:nth-of-type(" + rowID.to_s + ") button")
if mintueStr == minStr then
#puts "[convertMonthToRowID] RowId " + rowID.to_s
return rowID
end
end
end

def setHour(hourNum)
hour = getTextForElement(:css, "button[data-field='hour'] + .field-val.ng-binding")
puts hour
puts hourNum
while hour != hourNum do
puts "Hour: " + hour
puts "Hour NUM: " +hourNum
click(:css, "button[data-field='hour']")
hour = getTextForElement(:css, "button[data-field='hour'] + .field-val.ng-binding")
end
sleep 1.5
end

def setMinute(minStr)
minute = getTextForElement(:css, "button[data-field='minute'] + .field-val.ng-binding")
puts minute
while minute != minStr do
puts "Minute: " + minute
puts "Minute NUM: " +minStr
click(:css, "button[data-field='minute']")
minute = getTextForElement(:css, "button[data-field='minute'] + .field-val.ng-binding")
end
sleep 1.5
end

def setAMPM(whenStr)
element_text = getTextForElement(:css, "button.btn-am + .field-val.ng-binding")
if (whenStr == "AM") and (element_text == "PM") then
click(:css, ".btn.btn-default.btn-am")
elsif (whenStr == "PM") and (element_text == "AM") then
click(:css, ".btn.btn-default.btn-pm")
end
sleep 0.5
end

def areMinutesIn5MinIntervals()
intervalSetCorrectly = true
minuteRowCount = getElements(:css, 'b.minute ul li').length

for i in 1..minuteRowCount
displayedText = getTextForElement(:css, 'b.minute ul li:nth-of-type(' + i.to_s + ') button')
#puts "displayedText= "+ displayedText
#puts "displayedText.reverse[0,1].reverse = " + displayedText.reverse[0,1].reverse
if (displayedText.reverse[0,1].reverse != '0') and (displayedText.reverse[0,1].reverse != '5') then
intervalSetCorrectly = false
break
end

end

return intervalSetCorrectly

end

def clickSet()
click(:id, "set-btn")
end

def clickCloseBtn()
click(:css, ".btn-close")
end

def getSetButtonText()
#puts ("[GetSetButton Text ] " + getTextForElement(:css, "#set-btn span:nth-of-type(2)"))
return getTextForElement(:css, "#set-btn span:nth-of-type(2)")
end

def getSelectedTimePeriod()
getTextForElement(:css, "button.btn-am + .field-val.ng-binding")
end

def getSelectedMinute()
getTextForElement(:css, "button[data-field='minute'] + .field-val.ng-binding")
end

def getSelectedHour()
getTextForElement(:css, "button[data-field='hour'] + .field-val.ng-binding")
end

def getTime()
return getTextFromInput(:css, "input[name='time']")
end

def getTimePerEntry(i)
return getTextFromInput(:css, "input[name='time_#{i.to_s}']")
end

def setTimeFromGUI(hour, minStr, period)
setHour(hour)
sleep 1
setMinute(minStr)
sleep 1
setAMPM(period)
sleep 1
clickSet()
sleep 1
end

def isTimeDisplayedCorrectly(timeStr)

displayedCorrectly = true
displayedTimeStr = getTextFromInput(:css, "input[name='time_0']")

if displayedTimeStr != timeStr then
displayedCorrectly = false
end

return displayedCorrectly
end

end