Java 为什么要为每个@Test方法实例化WebDriver?
我是一名开发人员,临时负责帮助QA团队使用JUnit4和SeleniumWebDriver实现测试自动化。我是测试和测试自动化的新手 查看各种WebDriver示例,一种常见的模式是在@Before方法中实例化WebDriver的实现(如FirefoxWebDriver),在@Test方法中使用实例与@After中的浏览器和driver.quit()接口 因此,如果有5个@Test方法,浏览器将打开,测试应用程序初始化,浏览器关闭5次 我的问题是为什么每个测试用例都需要打开、初始化和关闭?我的猜测是为了防止一个测试用例失败对其他测试产生负面影响。这是正确的吗?还有其他原因吗?好问题 来自另一边,我是一名QA自动化测试工程师,与开发团队在自动化方面合作 正如@Prateek和我所指出的,原因有两个 最明显的两个问题是:Java 为什么要为每个@Test方法实例化WebDriver?,java,selenium,selenium-webdriver,junit4,functional-testing,Java,Selenium,Selenium Webdriver,Junit4,Functional Testing,我是一名开发人员,临时负责帮助QA团队使用JUnit4和SeleniumWebDriver实现测试自动化。我是测试和测试自动化的新手 查看各种WebDriver示例,一种常见的模式是在@Before方法中实例化WebDriver的实现(如FirefoxWebDriver),在@Test方法中使用实例与@After中的浏览器和driver.quit()接口 因此,如果有5个@Test方法,浏览器将打开,测试应用程序初始化,浏览器关闭5次 我的问题是为什么每个测试用例都需要打开、初始化和关闭?我的猜
1x1000=1000
分钟按顺序运行每个测试,而不是在1分钟内完成所有测试当然,原因不止这些。还有一个原因,每次实例化WebDriver时,都会创建一个新的配置文件来清除浏览器缓存。目前没有其他方法来清除浏览器缓存。我想你差不多做到了。测试的主要目的是定位误差。如果所有的测试都一次性运行,并且失败了,那么您就无法确定是哪个部分导致了失败。还有-多线程。如果你有一个完整的回归套件,如果可能的话,你需要并行运行这1000个测试