Selenium Webdriver代码中的这些额外方法是什么?

时间:2013-05-21 10:04:39

标签: java selenium selenium-webdriver

所以我使用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()的作用。也可以,我可以删除这些功能,只保留所需的部分。

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

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