java - 在实现 Selenium WebDriverEventListener 的类中声明静态字符串变量会导致 ChangeValueOf 和 ChangeValueOf 方法出错
问题描述
我正在实现 WebDriverEventListener 如下。setAlias 方法用于在日志中打印 WebElement 的用户友好名称,而不是包含元素定位器的长字符串。
虽然这在我有类似实现的另一个项目中运行良好,但在一个项目中我遇到了问题。当我声明“字符串名称”变量时,我看到beforeChangeValueOf和afterChangeValueOf方法出现以下错误。如果我删除静态字符串变量,工作就好了。没有其他方法被标记为这样。
此行有多个标记 - EventHandler 类型必须实现继承的抽象方法 WebDriverEventListener.beforeChangeValueOf(WebElement, WebDriver, CharSequence[]) - EventHandler 类型必须实现继承的抽象方法 WebDriverEventListener.afterChangeValueOf(WebElement, WebDriver, CharSequence[])
public class EventHandler implements WebDriverEventListener {
private static Logger log = LogManager.getLogger(EventHandler.class);
private static String name;
public static void setAlias(final String alias) {
name = alias;
}
@Override
public void beforeAlertAccept(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterAlertAccept(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterAlertDismiss(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void beforeAlertDismiss(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void beforeNavigateTo(String url, WebDriver driver) {
// TODO Auto-generated method stub
log.info("Navigating to {}", url);
}
@Override
public void afterNavigateTo(String url, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void beforeNavigateBack(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterNavigateBack(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void beforeNavigateForward(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterNavigateForward(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void beforeNavigateRefresh(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterNavigateRefresh(WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void beforeFindBy(By by, WebElement element, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterFindBy(By by, WebElement element, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void beforeClickOn(WebElement element, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterClickOn(WebElement element, WebDriver driver) {
// TODO Auto-generated method stub
log.info("Clicked on element {}", name);
}
@Override
public void beforeChangeValueOf(WebElement element, WebDriver driver, CharSequence[] keysToSend) {
// TODO Auto-generated method stub
}
@Override
public void afterChangeValueOf(WebElement element, WebDriver driver, CharSequence[] keysToSend) {
// TODO Auto-generated method stub
}
@Override
public void beforeScript(String script, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterScript(String script, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void beforeSwitchToWindow(String windowName, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterSwitchToWindow(String windowName, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void onException(Throwable throwable, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public <X> void beforeGetScreenshotAs(OutputType<X> target) {
// TODO Auto-generated method stub
}
@Override
public <X> void afterGetScreenshotAs(OutputType<X> target, X screenshot) {
// TODO Auto-generated method stub
}
@Override
public void beforeGetText(WebElement element, WebDriver driver) {
// TODO Auto-generated method stub
}
@Override
public void afterGetText(WebElement element, WebDriver driver, String text) {
// TODO Auto-generated method stub
}
}
解决方案
推荐阅读
- laravel - 如何解决在 laravel 中创建 cookie 的问题?
- php - 插入查询 mysql 抛出 PDO::exec() 恰好需要 1 个参数,给定 2 个
- android-button - 如何在 onclick 上更改 imagebutton 背景
- python - 使用添加分钟创建新列日期时间(Pandas,Python)
- javascript - PUBLIC_URL 对 locahost 和生产做出反应时为空?
- amazon-web-services - 当我尝试在 s3 权限选项卡中添加读取访问策略时出现无效的 json 错误
- r - 当我单击它时,闪亮的按钮不起作用。某人可以帮助我吗?
- typescript - Typescript中“一级深度”可区分联合的类型缩小
- python - 如何使用 PyQt5 将会话变量返回到我的主代码?
- sql - 应该如何使具有许多参数的 SQL Server 过滤过程更快