askme 发表于 2013-1-27 05:30:21

watir 支持中文

一.问题
使用watir1.5时候,如果发现它不支持中文,可以尝试修改
一下它的源代码。

二. 解决方案
1.打开watir.rb
2.在class TextField中加入一个新的method,代码如下:
-------------------------------------------
    def characters_in(value)
      index = 0
      while index < value.length
         len = value > 128 ? 2 : 1
         yield value
         index += len
      end
    end
-------------------------------------------

3.更改class TextField的doKeyPress( value )方法部分代码,将下面代码注释掉或删除
-------------------------------------------
    for i in 0 .. value.length-1   
      sleep @ieController.typingspeed   
      typing speed
      c = value
      @ieController.log" adding c.chr " + c.chr.to_s
      @o.value = @o.value.to_s + c
      fire_key_events
    end
-------------------------------------------
替换为如下代码
-------------------------------------------
    characters_in(value) {|c|
      sleep @ieController.typingspeed
      @o.value = @o.value.to_s + c
      fire_key_events
       }
-------------------------------------------
页: [1]
查看完整版本: watir 支持中文