FireWatir TextField设置:非常慢

在ruby中调用text_field的set方法时,在浏览器中以非常慢的速率输入文本,大约为1个字符/秒。

环境信息:

  1. Ubuntu 10.10
  2. FireFox 3.6.13
  3. JSSh 0.9
  4. Ruby 1.9.2p136
  5. FireWatir 1.7.1

好心劝告。 提前致谢。

这是一个已知的错误: WTR-397

解决方法是使用watir-webdriver或使用value=而不是set 。 例:

 browser.text_field(how => what).value= "string" 

解决firewatir上的慢键类型问题:

需要编辑文件text_field.rb进入该文件夹

  1. #>cd /usr/lib/ruby/gems/1.8/gems/firewatir-1.7.1/lib/firewatir/elements/使其可写
  2. #>chmod 777 text_field.rb编辑proc def doKeyPress( value )
  3. 将#放在@o.fireEvent("onKeyDown")@o.fireEvent("onKeyPress")@o.fireEvent("onKeyPress")

而是输入fire_key_events

  def doKeyPress( value ) begin max = maxlength if (max > 0 && value.length > max) original_value = value value = original_value[0...max] element.log " Supplied string is #{suppliedValue.length} chars, which exceeds the max length (#{max}) of the field. Using value: #{value}" end rescue # probably a text area - so it doesnt have a max Length end for i in 0..value.length-1 #sleep element.typingspeed # typing speed c = value[i,1] #element.log " adding c.chr " + c #.chr.to_s @o.value = "#{(@o.value.to_s + c)}" #c.chr fire_key_events #add this #@o.fireEvent("onKeyDown") #@o.fireEvent("onKeyPress") #@o.fireEvent("onKeyUp") end 

现在它应该更快

Interesting Posts