我正在自动执行表单,场景是,当给出无效条目时,不应出现“成功”消息

我试图使用检查

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/

10-14 04:41