Seg fault javascript对话框Watir 3.0和rautomation 0.7.2 ruby​​ v 1.8.7

时间:2012-08-07 04:59:54

标签: watir rautomation

我正在尝试在watir 3.0中的javascript对话框中单击“确定”。我尽可能地简化了代码:

@ie.button(:id, "Associate Control Activity").click_no_wait

@ie.clickprompt

def clickprompt(btn="OK", txt="")
    sleep 1 until javascript_dialog.exists?
    #sleep 1 until javascript_dialog.button(btn).exists? #tried both
    javascript_dialog.button(btn).click
end

我经常得到这个,一些脚本比其他脚本(非常间歇):

C:/ruby/lib/ruby/gems/1.8/gems/rautomation-0.7.2/lib/rautomation/adapter/win_32/functions.rb:317: [BUG] Segmentation fault
ruby 1.8.7 (2012-06-29 patchlevel 370) [i386-mingw32]
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

操作系统是Win XP sp3。我经常调用clickpompt,有些脚本会反复使用它,但是第四次调用它时并不会总是失败,有时是第二次,等等。我需要做一些不同的事吗?感谢

1 个答案:

答案 0 :(得分:1)

这是由错误的ffi gem引起的。您需要安装该gem的较新版本才能解决该问题。至少需要1.1.3版本。

原始问题可以在https://github.com/ffi/ffi/issues/213

看到

只需执行命令:

gem install ffi

或者,如果您使用的是Bundler,请将其添加到您的Gemfile中:

gem "ffi", "~>1.1.3"

执行:

bundle update ffi