3

capybara-webkitをインストールした後、仕様内でテストを試してみました。テストは次のとおりです。

Capybara.default_driver = :webkit

page.execute_script("$('#submit_direction').attr('value', '1');$('#quizForm').submit()")

次に、次のエラーが発生します。

/home/sam/.rvm/gems/ruby-1.9.3-p0@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:136:警告:安全でない世界の書き込み可能なディレクトリ/home/sam/Documents / PATHのRoR、モード040777 undefined | 0 | ReferenceError:変数が見つかりません:$

Capybara :: Driver :: Webkit :: WebkitInvalidResponseError:Javascriptの実行に失敗しました

何かアイデアをお願いします?

4

1 に答える 1

8

capybara-webkitJSドライバーは少し危険だと思います。

capybara githubページから:

単純な式の場合、スクリプトの結果を返すことができます。これは、より複雑な式で壊れる可能性があることに注意してください。

結果=page.evaluate_script( '4 + 4');

ただし、そこにあるコードから、Capybara自体でかなりのことができるように見えます。

$('#submit_direction').attr('value', '1')

次のように置き換えることができます:

page.find("#submit_direction").set('1')

$('#quizForm').submit()

次のように置き換えることができます:

page.click_on('quizForm')

カピバラのアクションに関するカピバラのドキュメントを参照してください

于 2012-01-22T23:05:47.207 に答える