Watir支持中文环境的修改

这几天开始针对Watir进行WEB自动化的调研.在切换支持中文,花费了竟半天时间,实在郁闷.

在网上查找了别人曾经进行支持中文的修改,由于我安装的为Watir 1.5.2,存在着些许不同,讲述一下大致的方法:
  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")
       }

4.用原googleserach.rb,将ie.text_field(:name, "q").set("中文"),验证成功.
 
注意和网上大部分讲的方法不同的点在于:
  a)   1.5.2开始firevent已经细化为:
      @o.fireEvent("onKeyDown")
        @o.fireEvent("onKeyPress")
        @o.fireEvent("onKeyUp")
      代码中要做相应修改
    原先没留意~~~

 b) 发现网上有相当的方法
 sleep @container.typingspeed
写成sleep @ieController.typingspeed
估计就是抄的是一个出处的~

由于刚装Watir,还不清楚调试环境,一直出错却没有看清,太是相当faint

转载于:https://www.cnblogs.com/slaughter/archive/2007/10/18/929385.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值