2

我是 selenium webdriver 的新手,

在某些情况下,我的测试用例失败了,我想通过注释前面的代码从发生问题的同一位置(即不关闭浏览器)运行测试。如何在 selenium webdriver 中做到这一点。(就像从 QTP 中的步骤运行一样)

任何人都可以请指导我。

谢谢

4

3 回答 3

2

为了重用浏览器,您不能在每次测试中都对其进行初始化,因此您需要使用单例模式,其中您将拥有一个唯一的 webdriver。

因此,您不想使用@beforeand@after子句来初始化和关闭该浏览器,而是要使用@beforeclassand @afterclass。然后,该类中的每个测试方法都将使用相同的浏览器,从上一个测试离开它的确切位置开始。

但这将发生在同一个测试周期中。据我所知,不可能使用以不同周期启动或手动打开的浏览器实例。

于 2013-05-20T11:13:47.210 回答
1

我知道有一种方法,但如果您决定并行运行相同的测试,这可能会导致一些问题。我建议你研究一下static参数,看看它是否适合你。

当你开始你的第一次测试时,请按如下方式进行:

static WebDriver driver = new FirefoxDriver(); // Could be any Driver();

这样driver.someFunction();,只要您不要求close()quit()直到您到达最后一个测试,您调用的任何测试都将起作用。

于 2013-05-20T12:58:48.333 回答
0

解决方法在这里找到:https ://code.google.com/p/selenium/issues/detail?id=3927

WebDriver  driver=new RemoteWebDriver(new URL("http://localhost:7055/hub" DesiredCapabilities.firefox());
        driver.get("http://www.google.com");
于 2014-11-11T14:50:56.213 回答