我正在使用新的 selenium webdriver,一切都很好,但是如果出现连接问题并且浏览器在没有我的指导或其他各种原因的情况下关闭,我会收到如下错误消息:-
Exception in thread "Thread-2" org.openqa.selenium.WebDriverException: Error communicating with the remote browser. It may have died.
在这些情况下,我想抓住它并调用一些代码来对表等运行更新,以通知用户这已经发生了,我该怎么做?
我试图变得聪明并从“动作”数据库中运行它,代码基本上使用一个很大的“如果动作 = XYZ 调用 blah”列表按顺序运行这些动作,就像这样”
if (actionType.equals("NAVIGATETO")){
actionPassed = threadAction.NavigateTo(this);
}
else if(actionType.equals("TYPE")){
actionPassed = threadAction.Type(this);
}
else if(actionType.equals("CLOSEBROWSER")){
actionPassed = threadAction.CloseBrowser(this);
}...
我需要把每一个都包装起来试试看吗?或者我是否需要在每个动作的下一个级别实施 try 和 catch?这是一个动作的例子......
public boolean browserNav(individualThreadSession threadsesh){
if(threadsesh.stringValue.contains("BACK")){
threadsesh.driver.navigate().back();
}
else if(threadsesh.stringValue.contains("REFRESH")){
threadsesh.driver.navigate().refresh();
}
else if(threadsesh.stringValue.contains("GOTO")){
threadsesh.driver.navigate().to(threadsesh.stringValue);
}
return(true);
}
感谢您的任何建议,我真的不知道从哪里开始这个想法?!