Selenium Java Provar - Почему мое действие moveToElement не выполняется - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь выполнить действие moveToElement, используя Selnium Java в Provar. Мой импорт для действий:

import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;

Мой собственный метод:

        public void checkContractNumberOnHover() {
        WebDriver driver = provarSeleniumDriver.getWebDriver();
        Actions builder = new Actions(driver);

        WebElement contract = driver.findElement(By.xpath("MyXpath1"));
        WebElement contractProperNumber = driver.findElement(By.xpath("MyXpath2"));

        Action mouseOverContract = builder.moveToElement(contract).build();
        mouseOverContract.perform();
value");

        assertTrue(contractProperNumber.isDisplayed());

        String contractActualString = contractProperNumber.getText();
        assertTrue(contractActualString.contains("N2019-0001"));        
    }
}

Мой тест должен навести курсор на всплывающую подсказку и прочитать, а затем сравнить значение (значение отображается только при наведении курсора). Hover кажется, что мой тест даже не наведен на элемент на 1-м месте. В журнале есть информация о том, что xpath2 неверен (всплывающая подсказка для элемента не отображается. Я пытаюсь использовать действие, как в этом руководстве: https://www.guru99.com/keyboard-mouse-events-files-webdriver.html

PS мои xpaths ok проверены несколько раз, для каждого из них найден один элемент. Я понятия не имею, почему действие moveToElemnt даже не запускается: (

1 Ответ

0 голосов
/ 26 мая 2020

Поместите каждое обнаружение xpath в Try -catch--see. Если элемент не найден, также подходит для xpath1.

Actions actions = new Actions(driver);
try{
  WebElement contract = driver.findElement(By.xpath("MyXpath1"));
}
catch(Exception e)
{
syso("print exception"+e.getmessage);
}

WebElement contractProperNumber = driver.findElement(By.xpath("MyXpath2"));
actions.moveToElement(contract).`enter code here`perform();
System.out.println("Done Mouse hover on xpath1");
...