moveToElement больше не работает с Sauce Labs
У меня есть код, работающий локально, однако, когда я использую RemoteWebDriver с учетной записью Sauce Labs, действие, похоже, игнорируется.
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.net.URL;
public class NavToURL {
public static final String USERNAME = "uname";
public static final String ACCESS_KEY = "uuid";
public static final String URL = "https://" + USERNAME + ":" + ACCESS_KEY + "@ondemand.saucelabs.com:443/wd/hub";
public static void main(String[] args) throws Exception {
DesiredCapabilities caps = DesiredCapabilities.chrome();
caps.setCapability("platform", "Windows 7");
caps.setCapability("version", "51.0");
caps.setCapability("screenResolution", "1280x768");
WebDriver driver = new RemoteWebDriver(new URL(URL), caps);
driver.get("http://www.webpage.com");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
driver.findElement(By.id("menu-item-177")).click();
Thread.sleep(10000);
WebElement emailBox = driver.findElement(By.id("email"));
Actions actions = new Actions(driver);
actions.moveToElement(emailBox);
emailBox.sendKeys("someone@gmail.com");
driver.findElement(By.className("submit-button")).click();
driver.quit();
}
}
Я даже попытался добавить таймеры сна только для того, чтобы замедлить время загрузки виртуальной машины на стороне SauceLabs. Какие-либо предложения?
1 ответ
Вы забыли добавить .build().perform();
например, actions.moveToElement(emailBox).build().perform();
, я использую Actions
на Sauce Labs, и он отлично работает для Chrome, но он не реализован в драйвере марионеток для FF, и IE дает мне припадки.