TestNGを使用して自動テストを実行するためにSelenium 3.0.1を使用しています。Javaを使用しているSelenium WebDriverのmoveToElementマウス・ホバリング機能が安定していません
Actions builder = new Actions(getWebDriver());
builder.moveToElement(actionButton).build().perform();
しかし、テストが安定していない:私はアクションメニューに置いて、そのメニューのオプションをクリックしようとしている一つの試験で 。メニューは表示されますがすぐに終了することがわかります。そのため、オプションが見つからないためテストが失敗します。 私はこのエラーを受けています:メニューが開いている場合
java.lang.IllegalArgumentException: Must provide a location for a move action.
at org.openqa.selenium.interactions.MoveMouseAction.<init>(MoveMouseAction.java:30)
at org.openqa.selenium.interactions.Actions.moveToElement(Actions.java:251)
はどうすれば確認できますか? perform()メソッドはvoidを返します。 moveToElementを2回呼び出すと、テストがより安定していることに気付きます。そうするエレガントなオプションはありますか? https://sqa.stackexchange.com/questions/3467/issue-with-losing-focus-of-hover-command-when-the-mouse-is-outside-of-the-acti 最高の私の問題について説明します。私は、この問題を見つける
:
Actions builder = new Actions(getWebDriver());
builder.moveToElement(actionButton).build().perform();
builder.moveToElement(actionButton).build().perform();
メニューは、我々はそれの上に置くと、どのように見えるかこの
。残念ながら、解決策はまだありません。
ここでの問題は、メニューが開きませんが、セレンは、サブメニューボタンを見つけることができ直前に閉じていることです。 FluentWaitはメニューが既に閉じているのでここでは役に立たないと思うので、何も待たないでください。私が間違っていれば私を修正してください。 私が探しているのは、開いた後にドロップダウンメニューをフリーズする方法ですが、クリックすることはありません。 – sami610
穴のシナリオやウェブサイトそのものを見ずに間違っていると言うのは難しいです。だから私は最初に待ってみることをお勧めします。 – Moshisho
JavascriptExecutorでも動作しませんか? ((JavascriptExecutor)ドライバ).executeScript( "$( 'element_selector')。hover();"); –