我应该在TestNG中的BeforeClass或BeforeTest中启动WebDriver

时间:2018-03-10 00:28:54

标签: selenium selenium-webdriver testng

我还在学习自动化测试,我一直在寻找一些测试框架。我看到人们发起WebDriver的方法有两种。

  1. 有些人在BeforeClass中启动它(使用TestNG),它使驱动程序保持活动状态,包括许多测试用例。
  2. 其他组在每个测试用例@Test或@BeforeTest中启动WebDriver,以便他们可以为每个类创建新的WebDriver。
  3. 启动WebDriver所需的正确位置在哪里?谢谢。

1 个答案:

答案 0 :(得分:1)

没有"正确的地方"!

如果您从@BeforeClass启动驱动程序,那么同一个浏览器将可用于该类中的每个测试 - 包括任何会话cookie和其他历史记录。每项测试都需要考虑上一次测试离开您的应用的状态。例如:最好在@BeforeTest中登录您的应用并在@AfterTest中从您的应用退出

如果您从@BeforeTest启动驱动程序,那么您将从每个单独测试的干净浏览器会话开始。这个速度较慢(由于每个测试都启动了浏览器),但是更加清晰,因为您不必担心上一次测试离开浏览器的状态。