制作登陆脚本时,会碰到需输入中文用户名 ,此时脚本运行时会发现用户名输入不进去,那时因为ruby不支持中文,需要修改一些文件后才行。
ruby1.5.2下是修改watir.rb这个文件;1.5.3中这个文件被拆分了,需要修改C:\ruby\lib\ruby\gems\1.8\gems\watir-1.5.3\watir\input_elements.rb 文件。修改步骤:
一、在class TextField中加入
def characters_in(value)
index = 0
while index < value.length
len = value[index] > 128 ? 2 : 1
yield value[index, len]
index += len
end
end
二、在def doKeyPress(value) 方法中将
for i in 0 .. value.length - 1
sleep @container.typingspeed
c = value[i,1]
@o.value = @o.value.to_s + c
@o.fireEvent(">@o.fireEvent("onKeyDown")
@o.fireEvent(">@o.fireEvent("onKeyPress")
@o.fireEvent(">@o.fireEvent("onKeyUp")
end
替换为:
characters_in(value) {|c|
sleep @container.typingspeed
@o.value = @o.value.to_s + c
@o.fireEvent("onKeyDown")
@o.fireEvent("onKeyPress")
@o.fireEvent("onKeyUp")
}
即可。
感谢林彦的帮忙,让我搞定这个问题。
转载于:https://www.cnblogs.com/universsky/p/4251172.html