我是一名开发人员,暂时负责使用JUnit 4和Selenium WebDriver帮助QA团队进行测试自动化。我是测试和测试自动化的新手。查看各种WebDriver示例,常见模式是在@Before方法中实例化WebDriver(如FirefoxWebDriver)的实现,使用@Test方法中的实例与浏览器进行交互,并使用driver.quit()in @后。为什么要为每个@Test方法实例化WebDriver?
所以如果有5个@Test方法,浏览器将被打开,测试应用程序初始化并且浏览器关闭5次。
我的问题是为什么每个测试用例都需要打开,初始化和关闭?我的猜测是防止一个测试案例失败,对其他测试产生负面影响。它是否正确?还有其他原因吗?
我认为你是几乎没有。测试的主要目的是定位错误。如果所有的测试都会一次运行并且失败,那么您无法确定哪个部件导致了故障。 – Prateek
此外 - 多线程。如果你有一个完整的回归套件,如果可能的话,你需要并行运行这1000个测试 – sircapsalot