Selenium webdriver 中的验证

Verification in Selenium webdriver

我是自动化领域的新手,我正在尝试验证列表中的项目以查看它是否已被删除。我使用了以下语法但它说找到了公司,这不是假设成为答案.. 请帮忙

internal void verifycompany()

{

        Thread.Sleep(1000);
        int b = 1;
        bool CompanyName = Driver.driver.FindElement(By.XPath(".//*[@id='companies']/tr[" + b + "]/td[1]")).Displayed;
        if (CompanyName == false)
        {
            Console.WriteLine("company not found, test succesful");
            Base.test.Log(LogStatus.Info, "company not found, test succesful");
        }
        else
        {
            b++;
            Base.test.Log(LogStatus.Info, "Company found, test unscuccesful");
            }
        }

不幸的是,isDisplayed 不会 return false 如果它没有显示,它会抛出一个异常说明它找不到(天哪,谢谢)。

我所做的是创建一个可重用的方法,我可以在其中传入一个元素,它会通过 try catch 抛出它,return 如果找到则返回 true,如果抛出异常则返回 false。

类似下面的内容 - 我使用 java 但它应该可以帮助您找到解决问题的方法:

public boolean isDisplayed(WebElement webElement) {
    try {
        return element.isDisplayed();
    } catch (NoSuchElementException e) {
        return false;
    }
}

如果您不想创建可重用的方法,只需将查找元素行放入 try catch 即可。

boolean CompanyName;

try {
    CompanyName = findElementAndIsDisplayedCode;
} catch (NoSuchElementException e) {
    CompanyName = false;
}