我正在使用Selenium Webdriver和TestNG。 我已将所有定位器的详细信息保存在单独的属性文件中。 当我尝试在我的Java代码中引用定位器时,我在日志中收到以下错误
InvalidSelectorError:无法找到带有xpath的元素 表达" / html / body / div [1] / nav / div / div [2] / ul / li [6] / a / b"因为 以下错误:TypeError:表达式无法转换为 返回指定的类型。
请找到以下代码:
@Test(priority=1)
public void testLoginOnFirstPage() {
try {
log.debug("Test#1 - Login on the Home page ");
driver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS);
loginButtonHomePage=By.xpath(prop.getProperty("login.button.homePage.xpath"));
driver.findElement(loginButtonHomePage).click();
Assert.assertTrue(true,"Login button clicked successsfully");
log.debug("Test#1----------------------Login on the Home Page -----------------Passed");
}
catch(Exception e) {
Assert.assertFalse(false,"Error while clicking on the Login button on the first page");
log.error(e);
log.debug("Test#1----------------------Login on the Home Page ----------------Failed");
}
}
正确获取属性值。我试过在控制台上打印它的值。 它显示为> By.xpath:" xpathexpression"
当我在不使用属性文件的情况下传递xpath值时,代码运行时没有任何错误。
请帮忙。