我刚接触selenium webdriver,
在某些情况下,我的测试用例失败了,我想通过评论前面的代码从同一个地方(即没有关闭浏览器)运行测试。如何在selenium webdriver中做到这一点。 (就像从QTP中的步骤开始运行)
任何人都可以指导我。
由于
答案 0 :(得分:1)
为了重用浏览器,您无法在每次测试中初始化它,因此您需要使用单一模式,在该模式中您将拥有一个独特的Web驱动程序。
因此,您希望使用@before
和@after
,而不是使用@beforeclass
和@afterclass
子句来初始化和关闭该浏览器。然后,该类中的每个测试方法将使用相同的浏览器,从前一个测试离开它的确切位置。
但这将在同一测试周期中发生。据我所知,不可能使用在不同周期中启动的浏览器实例,也不可能手动打开。
答案 1 :(得分:1)
我知道有一种方法,但是如果您决定并行运行相同的测试,这可能会涉及一些问题。我建议你研究一下static
参数,看它是否适合你。
当您开始第一次测试时,请执行以下操作:
static WebDriver driver = new FirefoxDriver(); // Could be any Driver();
这样,只要您在到达最后一次测试之前没有呼叫driver.someFunction();
或close()
,您拨打quit()
的任何测试都会有效。
答案 2 :(得分: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");