[英]Java + TestNG. Not present element fail to go else statement
boolean a = browser1.findElement(By.xpath("//*[@id='tsf']/div[2]/div[3]/center/input")).isDisplayed();
if (a == true)
{
extent.log(LogStatus.PASS, "Website launched");
}
else
{
extent.log(LogStatus.FAIL, "Website no launched");
}
If the xpath element is present it is successful to log the true statement. 如果存在xpath元素,则可以成功记录true语句。 But for not present xpath element it will not go into else statement.
但是对于不存在的xpath元素,它将不会进入else语句。 How can I set to find/verify the exist or non exist element in testng?
如何设置以查找/验证testng中存在或不存在的元素?
Using Assert will send Pass/Fail result in testNG. 使用断言将在testNG中发送通过/失败结果。
WebDriver browser1 = new FirefoxDriver();
try
{
WebElement w = browser1.findElement(By.xpath("//*[@id='tsf']/div[2]/div[3]/center/input"));
boolean flag = w.isDisplayed();
if(flag)
{
Assert.assertTrue(true, "Website Launched");
}
else
{
Assert.fail("Website no launched");
}
}catch(NoSuchElementException n)
{
Assert.fail("Website no launched");
}
Create function like below code to find element: 创建类似于以下代码的函数以查找元素:
boolean a = isElementPresent(By.xpath("//*[@id='tsf']/div[2]/div[3]/center/input"));
public boolean isElementPresent(String element){
try{
browser1.findElement(By.xpath(element)).isDisplayed();
return true;
}
catch(Exception ex){
return false;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.