2011-08-18 12 views
7

私はCapybara 1.0.0をデフォルト設定で使用しています。Capybara click_linkが動作しない場合があります

click_link "some existing text"#--sometimes--は機能しません。奇妙な。

find_link「いくつかの既存のテキスト」#は常に

に動作します。これは、タイミングの問題がある可能性があります。 find_linkがうまく動作するので、そうでないかもしれません。

私は、生成された出力ファイルをsave_and_open_pageでチェックしましたが、それも問題ありません。また、待っている時間などを増やしましたが、どちらも助けになりませんでした。

私はカピバラのソースに完全に行く前に。それは間違っていると思いますか?

よろしく

+0

? –

答えて

0

私は私のテスト私がチェック最初のものの一つで断続的な問題を得ているときはいつでも、それはおそらく、彼らはあなたがRSpecのを設定している方法に応じて。

で実行されているシーケンスでありますスイートを実行するたびにスペックが実行される順序をランダム化します。これは時にはすべてが通り過ぎることを意味します。

Rspecは、デバッグの目的で同じ順序でテストを再実行するために使用できるシード値を出力します。

0

この構文を使用してください。click_link('', href: some_path)

0

リンクは別の要素(ポップアップウィンドウのような)でオーバラップすることも、ページが読み込まれてからしばらくしてからAjaxによってアクティブにすることもできます。どのページを操作するかによって大きく異なります。一般的なヒントとして

、私は次のように、直接ファインダーを使用することをお勧めします:prolly問題は、あなたは、XPathやCSSセレクタで要素を見つける方法である

# Note :visible => true, it will throw an error if element is overlapped 
    find(:xpath, "//a[.='some existing text']", visible: true).click 

    # Another approach 
    wait_until(15) { first(:xpath, "//a..", visible: true) }.click 
関連する問題