3

因此,我使用 Selenium IDE 记录了我网站的一些步骤,然后使用 Java /JUnit 4 / WebDriver 将其导出。然后我在我的 Eclipse 中打开它,我在我的代码中发现了 4 个额外的方法。我不太了解这种方法的目的,因为我不处理警报窗口或查找元素。以下是方法

 @After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
  fail(verificationErrorString);
}
}

private boolean isElementPresent(By by) {
try {
  driver.findElement(by);
  return true;
} catch (NoSuchElementException e) {
  return false;
}
}

private boolean isAlertPresent() {
try {
  driver.switchTo().alert();
  return true;
} catch (NoAlertPresentException e) {
  return false;
}
}

private String closeAlertAndGetItsText() {
try {
  Alert alert = driver.switchTo().alert();
  String alertText = alert.getText();
  if (acceptNextAlert) {
    alert.accept();
  } else {
    alert.dismiss();
  }
  return alertText;
} finally {
  acceptNextAlert = true;
}

最后 3 种方法很容易理解它的作用,但是请有人告诉我 tearDown() 的作用。我也可以删除这些功能并只保留所需的部分。

4

2 回答 2

4

tearDown()方法用于在测试之前重新建立状态。这就是它有 Junit 子句的原因@after。该函数将在该类中的每次测试执行后调用。您还可以使用setUp()带有@Before子句的方法来准备每个测试。

方法的第一行:driver.quit();关闭浏览器(又名 webdriver)。接下来检查是否存在非空错误字符串,如果存在,则使测试失败。

于 2013-05-21T10:59:32.910 回答
2

您可能希望保留setup()andteardown()方法。该setup()方法用于在运行测试之前启动浏览器会话,并teardown()用于在测试完成后干净地退出它。

于 2013-05-21T10:57:42.523 回答