我想在我的Selenium项目中添加一些自定义ExpectedConditions。 扩展方法似乎是最简单的方法。
所以这是我目前的代码:
namespace SeleniumFramework.Utils
{
public static class PageUtils
{
public static Func<IWebDriver, bool> TestCondition(this ExpectedConditions expectedConditions, By locator)
{
// do stuff here
}
}
}
然后,我试图调用这个扩展方法:
using SeleniumFramework.Utils;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium;
namespace PageObjects
{
public class Page1
{
public void Complete()
{
Browser.Wait.Until(ExpectedConditions.TestCondition(
By.CssSelector("[ng-cloak]")));
// do more stuff
}
}
}
但是,这样做不编译,因为无法识别扩展方法。 这可能是什么原因?有没有其他替代品可以添加更多自定义的ExpectedConditions?
答案 0 :(得分:0)
我认为你可以从Selenide项目中做到这样的事情:https://github.com/codeborne/selenide/blob/master/src/main/java/com/codeborne/selenide/conditions/Text.java
答案 1 :(得分:0)
我添加了一个类MyConditions,它就像ExpectedConditions类一样。
所以我可以编写像Browser.Wait.Until(MyConditions.ElementIs(...))
这样的代码。