所以我使用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()的作用。也可以,我可以删除这些功能,只保留所需的部分。
答案 0 :(得分:4)
tearDown()
方法用于在测试之前重新建立状态。这就是它具有Junit子句@after
的原因。在该类中的每次测试执行后都将调用此函数。您还可以使用setUp()
方法和@Before
子句来准备每个测试。
方法的第一行:driver.quit();
关闭浏览器(又名webdriver)。接下来检查是否存在非空的错误字符串,如果存在,则会使测试失败。
答案 1 :(得分:2)
您可能希望保留setup()
和teardown()
方法。 setup()
方法用于在运行测试之前启动浏览器会话,teardown()
用于在测试完成后干净地退出。