私の要件は、Image Hover が機能しているか、Webdriver を使用していないかを確認することです。以下のように画像にマウスオーバーすると、その画像タグのタイトル値が変化します。
普通:
[img title="ASPIRIN" "src="http://img.med.com/pi/LNK01570.jpg" class="preview">
その画像にマウスオーバーした場合:[img title="" "src="http://img.med.com/pi/LNK01570.jpg" class="preview">
ここでは、タイトルの値を比較して、画像のホバーを確認しようとしています。そのためのコードを作成しましたが、Grid を使用せずにスクリプトを実行すると問題なく動作します。しかし、Grid の mouseOver を使用すると正しく動作しません。イメージ タグの値は変更されていません。グリッドの使用に問題はありますか? 私はFF17とSelenium 2.28.0とSelenium 2.25.0を使用しています。
私のコード:
String strVal1 = driver.findElement(By.xpath("//table[@id='ref_priceimgtable']/tbody/tr[12]/td[4]/img")).getAttribute("title");
System.out.println(strVal1);
WebElement element = driver.findElement(By.xpath("//table[@id='ref_priceimgtable']/tbody/tr[12]/td[4]/img"));
Locatable hoverItem = (Locatable) element;
hoverItem.getLocationOnScreenOnceScrolledIntoView();
Mouse mouse = ((HasInputDevices) driver).getMouse();
mouse.mouseMove(hoverItem.getCoordinates());
String strVal2 = driver.findElement(By.xpath("//table[@id='ref_priceimgtable']/tbody/tr[12]/td[4]/img")).getAttribute("title");
System.out.println(strVal1+"Null Value");
上記のコードstrVal1
では、 とstrVal2
は異なる必要があります。