私の Web アプリケーションには、MouseOver で開くメニューがあります。htmlunitdriver を使用してテストを書いています。
メニューをトリガーするテストコードは
Actions builder = new Actions(driver);
WebElement menu = driver.findElement(By.xpath("//a[starts-with(@href,'/index.html')]"));
Thread.sleep(2000);
builder.moveToElement(menu).build().perform();
Thread.sleep(2000);
driver.findElement(By.xpath("//a[starts-with(@href,'/submenuitem')]")).click();
driver.manage().timeouts().implicitlyWait(40, TimeUnit.SECONDS);
単一のテストを実行すると、問題なく合格します。しかし、一度に 80 個のテストをすべて実行しようとすると、
//a[starts-with(@href,'/submenuitem' を使用してノードを見つけることができません
サブメニューがまだ開いていないと思います。htmlunitdriver の速度が速すぎます。ときどき、「表示されている要素とのみ対話する可能性があります」というメッセージが 1 回の実行でも発生します。誰かがこの問題を解決するのを手伝ってくれますか? FirefoxDriver などを使用することは、私にとって選択肢ではありません。