首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告:[未检查]在创建自定义Selenium ExcpectedCondition时未检查的方法调用

警告:[未检查]在创建自定义Selenium ExcpectedCondition时未检查的方法调用
EN

Stack Overflow用户
提问于 2022-03-06 21:45:55
回答 1查看 100关注 0票数 0

我正在尝试使用以下代码创建自定义Selenium显式等待

代码语言:javascript
复制
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;
} 
}

然后

代码语言:javascript
复制
wait.until(new TabsOpened(2));

但是我在编译的时候收到了这些警告

代码语言:javascript
复制
Note: Tests.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

用我得到的-Xlint:unchecked标志编译

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-06 22:05:47

我不熟悉这个框架,但是根据您要扩展的接口的javadoc,您应该编写implements ExpectedCondition<Boolean>,重写方法的参数应该是WebDriver类型,而不是Object类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71374478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档