Java 如何在selenium webdriver的同一浏览器中继续运行测试
我是selenium webdriver的新手 在某些情况下,我的测试用例失败,我希望通过注释前面的代码,从发生问题的同一位置(即,不关闭浏览器)运行测试。如何在SeleniumWebDriver中实现这一点。(如从QTP中的步骤开始运行) 谁能给我指路吗Java 如何在selenium webdriver的同一浏览器中继续运行测试,java,selenium-webdriver,Java,Selenium Webdriver,我是selenium webdriver的新手 在某些情况下,我的测试用例失败,我希望通过注释前面的代码,从发生问题的同一位置(即,不关闭浏览器)运行测试。如何在SeleniumWebDriver中实现这一点。(如从QTP中的步骤开始运行) 谁能给我指路吗 谢谢为了重用浏览器,您无法在每次测试中对其进行初始化,因此您需要使用一个单一模式,在该模式中您将拥有一个唯一的webdriver 因此,与其使用@before和@after子句来初始化和关闭浏览器,不如使用@beforeclass和@afte
谢谢为了重用浏览器,您无法在每次测试中对其进行初始化,因此您需要使用一个单一模式,在该模式中您将拥有一个唯一的webdriver 因此,与其使用
@before
和@after
子句来初始化和关闭浏览器,不如使用@beforeclass
和@afterclass
。然后,该类中的每个测试方法将使用相同的浏览器,从上一个测试离开它的确切位置开始
但这将在同一测试周期内发生。据我所知,不可能使用以不同周期启动或手动打开的浏览器实例。我知道有一种方法,但如果您决定并行运行相同的测试,这可能会导致一些问题。我建议您研究一下
静态
参数,看看它是否适合您
开始第一次测试时,请按照以下步骤进行:
staticwebdriver-driver=newfirefoxdriver();//可以是任何驱动程序();
这样,您调用的任何测试driver.someFunction()只要在到达最后一个测试之前不调用close()
或quit()
,code>就可以工作。解决方法如下:
感谢@aimbire的回复,据我所知,假设iam在测试套件中有3个测试,如果在浏览器上执行某些操作后通过了第一个测试,则第二个测试将继续从当前浏览器运行,即不启动新浏览器。如果我们在测试套件之间声明这个[static WebDriver driver=new FirefoxDriver();],我从未尝试过,所以我不能向您保证。
WebDriver driver=new RemoteWebDriver(new URL("http://localhost:7055/hub" DesiredCapabilities.firefox());
driver.get("http://www.google.com");