Конечная цель - получить имя переменной WebElement для создания отчетов.
Ниже приведен код, который у меня есть.
Класс A:
Class A{
public void Click(WebElement element)
{
element.click();
System.out.println("Clicked on"+ element);
}
}
КлассB:
class B extends A{
@FindBy(xpath = "//li[@class='login-menu']//a[text()='Log In']")
WebElement link_Log_In;
Click(link_Log_In);
}
Требуемый выход:
Щелкните по ссылке_Log_In
Фактический вывод:
Нажмите [[ChromeDriver: chrome в XP (acc46d4d382511d7b18396d4a4dddd30)] -> xpath: // li [@ class = 'login-menu'] // a [text () = 'Log' ']]
Также я хотел бы напечатать тот же требуемый вывод в отчете экстента, используя метод afterClickOn (элемент WebElement, драйвер WebDriver) в WebDriverEventListener.
Я создал каркас таким образом, чтобы результаты WebDriverEventListenerпечатаются в отчетах по экстентам по мере необходимости, но, тем не менее, не могут распечатать требуемый вывод, как указано выше.
Пожалуйста, сообщите, если я что-то упустил в приведенном выше коде и добиться того же в afterClickOn (элемент WebElement, драйвер WebDriver)метод в WebDriverEventListener
Ниже находится прослушиватель событий afterClickmethod
public void afterClickOn(WebElement element, WebDriver driver) {
System.out.println("Clicked On"+element); // this is to print in console
ExtentManager.getTest().log(Status.valueOf(element), "clicked on"); // this is to print in extent report
}