2011-07-14 10 views
0

Windows 7ワークステーションで動作するCapybara 1.0.0、WebDriver、およびCucumber 1.0.0でSelenium2を使用しています。Selenium WebdriverのCapybaraリンクテキストに改行があると、click_linkが機能しない

いくつかのリンクがクリックされないキュウリ試験で問題が発生しました。数百のシナリオがあり、click_linkコマンドでは一握りで失敗します。私はリンクテキストがそれが占める領域よりも広いので、これらのリンクがリンクテキストに改行を持つことを発見しました。 FirefoxとIEで問題が発生しています(私は他のブラウザをチェックしていません)。

この情報が見つかりましたthisトピック:明らかにWebDriverは、リンクの矩形スペースの中心点をクリックします。リンクテキストが途切れて、2つ目の行で1つの単語だけが終了すると、WebDriverはリンクの外側をクリックします。

私はチケット内で言及している回避策を実装しようとしていますが(リンク上でENTERキーストロークを送信します)、これは一時的な修正でなければなりません。誰もがこの問題を回避するより良い方法を知っていますか?私は多くの人々がこの問題にぶつかるだろうと思いますか、何か間違っていますか?

+0

まあ、仕事を-周りに、彼らは私のために動作していないよう指定します。私は現在、修正をリリースするまで立ち往生しています。誰もがこの問題の別の回避策を見つけ出すことができましたか? –

答えて

3

私はついに仕事に就きました。問題は、 'return'であったはずのキー 'enter'を送信していたことです。カピバラとキュウリを使ってあなたのそれらのために

、この作品:

When /^I click "(.*)"$/ do |linkText| 
    link=find_link(linkText) 
    link.native.send_keys([:return]) 
end 
+0

私は関係のない方法で問題に直面していましたが、過去2〜4時間で他のすべてを試してみましたが、これに遭遇しました...そして、 私の問題は、javascriptイベントが割り当てられた要素がfind( "#id")でトリガーされていないことです。クリックして、なぜそれが起こったのかわかりませんが、これを修正しました。このソリューションを共有してくれてありがとうございます:) – whizcreed

+0

@whizcreed:問題がありました。そのクリック/クリック_1は1から3回のクリックをランダムに実行しました。これは動作します... – dabai