我正在写硒代码。
除非我将Thread.Sleep放在try catch块中,否则它将不起作用。实际上会引发编译时错误。
为什么呢?
public void test() {
System.out.println("in the test method");
achromeDriver.get(abaseUrl);
try {
Thread.sleep(6000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
WebElement benzRadioBtn = achromeDriver.findElement(By.id("benzradio"));
benzRadioBtn.click();
WebElement benzCheckBox = achromeDriver.findElement(By.id("benzcheck"));
benzCheckBox.click();
System.out.println("Is ben radio button selected ? "+ benzRadioBtn.isSelected());
}
答案 0 :(得分:3)
Thread.sleep()方法引发InterruptedException。是否会实际引发此异常取决于Java代码执行期间发生的情况,该方法只是让您知道它可能发生,并且应该以某种方式处理它。
处理异常的一种方法是将其放入try catch块中,因此,如果引发异常,程序仍将继续执行,并且catch块中的代码将执行。
如果您真的不想要try catch块(不知道为什么不这样做),可以在方法顶部添加一个throws声明,看起来像这样:
public void test() throws InterruptedException {
我将阅读有关Java异常及其工作方式的更多信息