Selenium WebDriver POM中显式等待的最佳实践

时间:2017-10-03 11:58:20

标签: c# selenium-webdriver

使用页面对象模型在哪里可以放置我的WebDriverWait声明,以便它可以在POM中重用?下面的代码在页面类中,webelements显示在每个页面自己的对象存储库中。这是我的示例代码

public bool IsAt()
{

    try
    {
        WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(10));

        wait.Until(Driver => ObjectRepository.EnterButton.Displayed);

    }
    catch (Exception)
    {

    }


  return  ObjectRepository.EnterButton.Displayed;
}

1 个答案:

答案 0 :(得分:0)

如果要重新使用WebDriverWait对象,可以将其放在POM级别的类中,或者将Driver包装到DriverWrapper类中,该类维护自己的WebDriverWait实例,在必要时公开WebDriverWait但允许它与WebDriver同时实例化 - 特别是考虑到WebDriverWait直接依赖WebDriver对象本身。