【发布时间】:2022-10-17 17:18:14
【问题描述】:
我正在自动化中进行一些自我开发,我编写了一个扩展方法来断言显示的元素也包括等待。
代码中没有显示错误,它构建并运行“正常”,并且成功地从我的 Extensions 类应用到我的页面对象,然后应用到步骤定义。
我想检查它是否正确通过/失败,所以我在登录测试中输入了错误的密码以确认它失败,但它通过就像它成功登录一样。我已经仔细检查了我正在使用的元素只有在登录后才会出现,所以这让我认为扩展方法是一个可能的问题。
这看起来对吗?
我的扩展(在扩展类中):
public static bool IsDisplayed(this IWebDriver driver, By by, int timeoutInSeconds = 10)
{
try
{
return driver.FindElement(by, timeoutInSeconds).Displayed;
}
catch (Exception)
{
return false;
}
}
应用于页面对象中的元素:
public void HomePageIsDisplayed()
{
_driver.IsDisplayed(TrelloHomeLogo);
}
在步骤定义中的应用:
[Then(@"it logs in sucessfully")]
public void ThenItLogsInSucessfully()
{
_homePage.HomePageIsDisplayed();
}
TIA
【问题讨论】:
标签: c# selenium extension-methods