51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3125|回复: 4
打印 上一主题 下一主题

使watir支持中文输入的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-6-16 13:46:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚从网上搜到的使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")
       }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-7-13 09:27:49 | 只看该作者
回复 1# phoebe_kaka

这种方法只能针对低版本的watir有效,1.6以后的watir就不能用这种方法了~~
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-7-25 14:20:47 | 只看该作者
难怪我的一直不行,1.6以后的watir版本用什么方法,分享一下呀!!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-7-28 16:27:30 | 只看该作者
输入框赋值不用set,改为如下所示的格式
text_field(:id,"test").value = "中文"
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-10-11 12:16:22 | 只看该作者
输入框赋值不用set,改为如下所示的格式
text_field(:id,"test").value = "中文"
oy127 发表于 2011-7-28 16:27



    恩, 这个方法可以, 有意思。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-22 11:47 , Processed in 0.078266 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表