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

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;
}

前面三个方法很容易理解它们的作用,但请问有人能告诉我 tearDown() 是做什么的吗?而且我可以只保留必需的部分而删除这些函数,行吗?

2个回答

4
tearDown() 方法用于恢复测试之前的状态。这就是为什么它有 Junit 条件 @after 的原因。此函数将在该类中每次执行测试后被调用。您还可以使用带有 @Before 条件的 setUp() 方法来准备每个测试。
方法的第一行:driver.quit(); 关闭浏览器(也称为 webdriver)。下面的行检查是否存在非空错误字符串,如果存在,则使测试失败。

2

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接