我正在尝试使用以下代码创建自定义Selenium显式等待
class TabsOpened implements ExpectedCondition {
int expectedTabs;
public TabsOpened(int exp) {
this.expectedTabs = exp;
}
@Override
public Boolean apply(Object driver) {
ArrayList<String> allWindowHandles = new ArrayList<> (((WebDriver)driver).getWindowHandles());
return allWindowHandles.size()== this.expectedTabs;
}
}然后
wait.until(new TabsOpened(2));但是我在编译的时候收到了这些警告
Note: Tests.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.用我得到的-Xlint:unchecked标志编译
Tests.java:116: warning: [unchecked] unchecked method invocation: method until in class FluentWait is applied to given types
wait.until(new TabsOpened(2)); // Wait 3 seconds or until 2 tabs are opened
^
required: Function<? super T,V>
found: TabsOpened
where T,V are type-variables:
T extends Object declared in class FluentWait
V extends Object declared in method <V>until(Function<? super T,V>)
Tests.java:116: warning: [unchecked] unchecked conversion
wait.until(new TabsOpened(2)); // Wait 3 seconds or until 2 tabs are opened
^
required: Function<? super T,V>
found: TabsOpened
where T,V are type-variables:
T extends Object declared in class FluentWait
V extends Object declared in method <V>until(Function<? super T,V>)有什么办法解决这个问题吗?我使用的是硒2.53
发布于 2022-03-06 22:05:47
我不熟悉这个框架,但是根据您要扩展的接口的javadoc,您应该编写implements ExpectedCondition<Boolean>,重写方法的参数应该是WebDriver类型,而不是Object类型。
https://stackoverflow.com/questions/71374478
复制相似问题