Я новичок в Selenium.Я использую gridlastic в качестве тестовой среды.
Я прошел через класс Actions для селена, который имеет методы для перемещения мыши, а также получил экземпляр мыши через веб-драйвер, вызвав getMouse () ипопытался переместить мышь, но удалась.
@Test(enabled = true)
public void test_site() throws Exception {
Coordinates elementLocation = null;
driver.get("https://www.amazon.com");
Mouse mouse = ((HasInputDevices) driver).getMouse();
System.out.println(mouse.toString());
if(mouse==null) {
System.out.println("mouse is null");
}
WebElement element1=driver.findElementByXPath("//*[@id=\"a-autoid-0-announce\"]");
elementLocation = ((Locatable) element1).getCoordinates();
mouse.mouseMove(elementLocation);
Thread.sleep(5000); //slow down for demo purposes
}
Также попытался использовать класс действий
@Test(enabled = true)
public void test_site() throws Exception {
driver.get("https://www.google.com/ncr");
Actions builder = new Actions(driver);
builder.
moveByOffset( 100, 1 )
.build().perform();
Thread.sleep(10000); //slow down for demo purposes
WebElement element = driver.findElement(By.name("q"));
element.sendKeys("webdriver");
element.submit();
Thread.sleep(5000); //slow down for demo purposes
}
Все еще не выполнено, указатель мыши всегда остается в позиции (0,0).Может кто-нибудь помочь, как это сделать.
Пожалуйста, не предлагайте использовать класс роботов из JAVA, поскольку среда тестирования является решетчатой, и она не работает.
Я также пытался использоватьисполнитель javascript, но это невозможно, так как курсор мыши управляется операционной системой.Я думал об изменении значений объекта окна clientX и clientY, но они доступны только для чтения в соответствии с документацией.