2012-08-07 65 views
0

我試圖在watir 3.0的javascript對話框中單擊確定。我已經簡化了代碼,盡我所能,以這樣的:Seg fault javascript對話框Watir 3.0和Rautomation 0.7.2 ruby​​ v 1.8.7

@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,有些腳本反覆使用它,但是在我第四次打電話時它並不總是失敗,有時候是第二次,等等。我是否需要做一些不同的事情?謝謝

+0

可能與https://github.com/jarmo/RAutomation/issues/31相關/相同 – 2012-08-08 12:59:40

回答

1

這是由錯誤的ffi gem引起的。您需要安裝該版本的該寶石,以解決該問題。至少需要1.1.3版本。

原來的問題可以在這裏看到https://github.com/ffi/ffi/issues/213

只是執行命令:

gem install ffi 

或者,如果你使用的捆紮機,然後添加到您的Gemfile:

gem "ffi", "~>1.1.3" 

並執行:

bundle update ffi