次の構成で watir-classic 3.3.0 を実行しています。
- ルビー 1.9.2p290
- WATIRクラシック3.3.0
- Windows XP サービス パック 3
- IE8
テスト中のページの 1 つで次のスクリプトを実行しようとすると、エラーが発生します。
@browser.execute_script "window.confirm = function() { return true; }"
エラー:
WIN32OLERuntimeError: (in OLE method `execScript': )
OLE error code:80020101 in <Unknown>
Could not complete the operation due to error 80020101.
HRESULT error code:0x80020009
Exception occurred.
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.3.0/lib/watir-classic/page-container.rb:46:in `method_missing'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.3.0/lib/watir-classic/page-container.rb:46:in `rescue in execute_script'
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.3.0/lib/watir-classic/page-container.rb:39:in `execute_script'
from (irb):7
from C:/Ruby192/bin/irb:12:in `<main>'
ブラウザで Javascript エラーを確認すると、次のように表示されます。
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Timestamp: Thu, 3 Jan 2013 16:13:47 UTC
Message: Invalid character
Line: 1
Char: 1
Code: 0
URI: file:///C:/Ruby192/lib/ruby/gems/1.9.1/gems/watir-classic-3.3.0/lib/watir-classic/ext/json2.js
Message: 'JSON' is undefined
Line: 1
Char: 1
Code: 0
URI: http://iis01/XXX/employees/default.asp
注: IE Javascript エラー ログ内でこれを数回取得します。
サイトがエラーで読み込まれず、なぜ JSON2 が無効な文字で識別されないのか途方に暮れています。これを修正する方法について何か考えはありますか?