8

テスト環境のセットアップで clickAndHold が機能しません。高度なユーザー インタラクションを使用して実行しようとすると、このエラーが発生し続けます。

「複数のボタンまたは既に押されたボタンを押すことはできません。」メソッド呼び出し時: [wdIMouse::down]"

Selenium バージョン 2.31.0-2.35.0 を使用して多数のバージョンの Firefox をテストしましたが、Selenium 2.35 を使用した Firefox 21 で問題が最も少なくなりました。他の組み合わせでは、click() がサイレントに失敗し、可視要素が不可視として扱われるという問題があります。

ある要素を別の要素にドラッグ アンド ドロップするために JavaScript の回避策を使用したいのですが、広範囲にグーグルで検索しても適切な例がどこにも見つかりません。

4

5 に答える 5

7

Firefox でもまったく同じ問題が発生し、ここにたどり着きました。スタックの提案をいじって、最終的に私は問題を解決することができました

actions.DragAndDropToOffset(element, x, y).Perform();

これはあなたが求めた Javascript の回避策ではないことは承知していますが、私と同じようにうまくいくことを願っています。これらの風変わりな問題は、本当にイライラすることがあります。

于 2014-02-25T15:16:53.387 に答える
0

あなたがやるべき方法は、元の質問のコメントでリチャードが提案したのと同じだと思います。Action クラスを使用します。このフォーラムで「Action Selenium」を検索してください。サイレントエラーが発生した場合は、最新の Selenium (参照する 2.35 が最新ではない) を使用していることを確認するだけです。また、IE または Chrome を使用している場合は、使用しているバイナリも最新バージョンに対応していることを確認してください。

IE11 と Chrome と Firefox はすべて自動アップグレードされるため、ドライバーの更新に従わない場合、人間が判読できるエラーをスローしない Actions クラスから奇妙な動作が発生する可能性があります。たとえば、最新の Chrome 31 で 2.30 ドライバーを使用すると、ブラウザーが開き、.get() がハングします。

于 2013-11-22T16:09:35.487 に答える