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