Selenium webdriver SeleniumWebDriver中的验证
我是自动化领域的新手,我正在尝试验证列表中的某个项目是否已被删除。。我使用了以下语法,但它说company found,这不是答案。。请帮忙Selenium webdriver SeleniumWebDriver中的验证,selenium-webdriver,automated-tests,verification,Selenium Webdriver,Automated Tests,Verification,我是自动化领域的新手,我正在尝试验证列表中的某个项目是否已被删除。。我使用了以下语法,但它说company found,这不是答案。。请帮忙 internal void verifycompany() { Thread.Sleep(1000); int b = 1; bool CompanyName = Driver.driver.FindElement(By.XPath(".//*[@id='companies']/tr[" + b + "]
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不会返回false,如果它没有显示,它会抛出一个异常,声明找不到它(天哪,谢谢) 我所做的是创建一个可重用的方法,在这里我可以传入一个元素,它将通过try-catch将其抛出,如果找到,则返回true;如果抛出异常,则返回false 类似于以下内容-我使用java,但它应该可以帮助您找到解决问题的方法:
public boolean isDisplayed(WebElement webElement) {
try {
return element.isDisplayed();
} catch (NoSuchElementException e) {
return false;
}
}
如果不想创建可重用的方法,只需将find元素行放入try-catch中即可
boolean CompanyName;
try {
CompanyName = findElementAndIsDisplayedCode;
} catch (NoSuchElementException e) {
CompanyName = false;
}
你能分享相关的HTML吗??