测试的那些事

(转)ruby中 attach方法不可用的刁钻原因

上一篇 / 下一篇  2009-09-25 16:19:13 / 天气: 热 / 心情: 郁闷 / 个人分类:Ruby

问题现象:

重装系统后,运行ruby脚本提示attach方法出错。提示信息为:

d:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.2/lib/watir/ie-class.rb:300:in `attach_browser_window’: Unable to locate a window with url of http://www.google.cn (Watir::Exception::NoMatchingWindowFoundException)
from d:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.2/lib/watir/ie-class.rb:152:in `_attach_init’
from d:/ruby/lib/ruby/gems/1.8/gems/watir-1.6.2/lib/watir/ie-class.rb:146:in `attach’
在别的机器上脚本都是ok的。

问题原因:

发现attach方法访问会根据iexplorer.exe进程来的。
问题在于打开ie的情况下并没有explorer.exe,而只有一个explorer.exe进程。
至此问题的原因就不难想象了。原来是资源浏览器窗口和ie浏览器窗口使用同一进程explorer.exe进程。

解决方法:

修改这个问题的方法就是修改注册表:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\BrowseNewProcess
把BrowseNewProcess的值改为yes即可。
如果是no就表示共用一个explorer.exe进程。


TAG: attach Ruby ruby

 

评分:0

我来说两句

Open Toolbar