我正在自动执行表单,场景是,当给出无效条目时,不应出现“成功”消息
我试图使用检查
s_assert.assertEquals(driver.findElement(By.xpath("//div[contains(.,'Succes')]")).isDisplayed(), false);
但是,在运行时,它显示“无法定位元素:”
仅当我的测试失败时才会显示该消息。因此,预期的行为是该元素将不存在。
如何告诉
webdriver
仅检查它是否存在并且不抛出错误!提前致谢... 最佳答案
您面临的问题与断言无关,而与查找元素机制无关。您期望的是Selenium
找不到的元素,因此直到断言之前代码尚未到达
您必须根据需要执行某种异常处理。在断言之前。
public bool Test()
{
try
{
Driver.FindElement(By.Id("test"));
return true;
}
catch (Exception ex)
{ // catch the exception you want
return false;
}
}
public void TestAssert()
{
Assert.AreEqual(Test(),false);
}
注意:我的是C#和NUnit
关于java - 与软断言混淆(如果存在消息),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29263756/