user9790882:
Escribí una prueba para el ratón sobre un elemento que tiene un enlace debajo de ella y hacer clic en el sub-elemento. Sigo recibiendo NullPointerException. Tenía trabajo previamente y dejó de funcionar de nuevo.
Actions mouseHover = new Actions(driver);
mouseHover.moveToElement(ParentElement);
mouseHover.moveToElement(subElement);
mouseHover.click(subElement);
DebanjanB:
Como por sus intentos de código que havn't invocado el perform()
método para el ratón . Es necesario para inducir WebDriverWait para los elementos y puede utilizar la siguiente solución:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
//other lines of code
Actions mouseHover = new Actions(driver);
mouseHover.moveToElement(new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOf(ParentElement)))).perform();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath(subElement))).click();
Actualizar
A medida que sigue viendo el error como:
java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:882) at org.openqa.selenium.interactions.Actions.<init>(Actions.java:68)
Esto implica que WebDriver ejemplo, es decir, el conductor no es accesible desde esta parte del código. El problema puede estar relacionado con el controlador ser nula ya que no se extendió la Base
clase en la prueba de clase. Asegúrese de que el controlador es accesible.