Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 我应该在TestNG中的BeforeClass或BeforeTest中启动WebDriver吗_Selenium_Selenium Webdriver_Testng - Fatal编程技术网

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

Selenium 我应该在TestNG中的BeforeClass或BeforeTest中启动WebDriver吗,selenium,selenium-webdriver,testng,Selenium,Selenium Webdriver,Testng,我仍在学习自动化测试,并且一直在研究一些测试框架。我发现有两种方法可以帮助人们启动WebDriver 有些人在BeforeClass中启动它(使用TestNG),它使驱动程序在整个类测试中保持活动状态,包括许多测试用例 其他组在每个测试用例@test或@BeforeTest中启动WebDriver,以便它们可以为每个类创建新的WebDriver 我们需要在哪里启动WebDriver?谢谢。没有“合适的地方”这回事 如果您从@BeforeClass启动驱动程序,则同一个浏览器将可用于该类中的每个测

我仍在学习自动化测试,并且一直在研究一些测试框架。我发现有两种方法可以帮助人们启动WebDriver

  • 有些人在BeforeClass中启动它(使用TestNG),它使驱动程序在整个类测试中保持活动状态,包括许多测试用例
  • 其他组在每个测试用例@test或@BeforeTest中启动WebDriver,以便它们可以为每个类创建新的WebDriver
  • 我们需要在哪里启动WebDriver?谢谢。

    没有“合适的地方”这回事

    如果您从
    @BeforeClass
    启动驱动程序,则同一个浏览器将可用于该类中的每个测试,包括任何会话cookie和其他历史记录。每个测试都需要说明上一个测试将应用留在哪个状态。例如:最好在
    @BeforeTest
    中登录应用程序,然后在
    @AfterTest
    中退出应用程序

    如果您在测试前从
    @启动驱动程序,则每次测试都将启动一个干净的浏览器会话。这会更慢(因为每次测试都会启动浏览器),但会更干净,因为您不必担心上一次测试会让浏览器处于什么状态