51Testing软件测试论坛

标题: 使watir支持中文输入的方法 [打印本页]

作者: phoebe_kaka    时间: 2011-6-16 13:46
标题: 使watir支持中文输入的方法
刚从网上搜到的使watir支持中文输入的方法,碰到过相同问题的同学可以直接改了。。
1.打开watir.rb
2.在class TextField中加入一个新的method,代码如下:
-------------------------------------------
    def characters_in(value)
        index = 0
        while index < value.length
         len = value[index] > 128 ? 2 : 1
         yield value[index, len]
         index += len
        end
    end
-------------------------------------------

3.更改class TextField的doKeyPress( value )方法部分代码,将下面代码注释掉或删除
-------------------------------------------
for i in 0 .. value.length-1
        sleep @container.typingspeed
        c = value[i,1]
       #@container.log " adding c.chr " + c  
        @o.value = @o.value.to_s + c   
       @o.fireEvent("onKeyDown")
        @o.fireEvent("onKeyPress")
       @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")
       }
作者: BBnight    时间: 2011-7-13 09:27
回复 1# phoebe_kaka

这种方法只能针对低版本的watir有效,1.6以后的watir就不能用这种方法了~~
作者: vkemc    时间: 2011-7-25 14:20
难怪我的一直不行,1.6以后的watir版本用什么方法,分享一下呀!!
作者: oy127    时间: 2011-7-28 16:27
输入框赋值不用set,改为如下所示的格式
text_field(:id,"test").value = "中文"
作者: 山东白水泉    时间: 2011-10-11 12:16
输入框赋值不用set,改为如下所示的格式
text_field(:id,"test").value = "中文"
oy127 发表于 2011-7-28 16:27



    恩, 这个方法可以, 有意思。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2