【问题标题】:FireWatir TextField set : Very SlowFireWatir TextField 设置:非常慢
【发布时间】:2011-06-27 09:00:44
【问题描述】:

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

环境信息:

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

请多多指教。提前致谢。

【问题讨论】:

  • 听起来更像是 FireWatir 中的一个错误,您可能想把它带给开发人员。

标签: ruby watir firewatir


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    解决 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 编辑过程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
    

    现在它应该工作得更快了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-19
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      • 1970-01-01
      相关资源
      最近更新 更多