我最近在Visual Studio中安装了Selenium Webdriver,我正在尝试创建一个函数来检查isElementPresent,并根据此处的建议将自定义错误消息作为参数包含在内:
是元素存在于硒 2.0
目前我的脚本看起来像
private bool isElementPresent(By by, string Message)
{
try
{
driver.FindElement(by); ;
return true;
}
catch (NoSuchElementException e)
{
System.Diagnostics.Debug.WriteLine(Message);
return false;
}
}
有人知道如何处理这个问题吗?
我的建议是不在你的函数中混合验证。使用 NUnitAssert
s 验证boolean
返回。
您的代码实际上并未使用您引用的链接中建议的方法。它应该看起来像
private bool isElementPresent(By locator)
{
return Driver.FindElements(locator).Any();
}
并被称呼为喜欢
Assert.IsTrue(isElementPresent(By.Id("login")), "Verify login button is present");
注意:您可能需要添加 Linq 引用using System.Linq;
才能使用.Any()
。