WebDriver 2.0:如果 IE (IE8) 的实例已经存在,则弹出窗口的会话过期错误
Posted
技术标签:
【中文标题】WebDriver 2.0:如果 IE (IE8) 的实例已经存在,则弹出窗口的会话过期错误【英文标题】:WebDriver 2.0 : Session expire error for a popup window if an instance of IE (IE8) is already present 【发布时间】:2013-07-16 11:53:25 【问题描述】:我必须自动化一个 Web 应用程序,在单击按钮说“弹出”后会启动一个新窗口。
在手动执行这些步骤时,如果多个窗口/选项卡(例如 Google、***)已经打开,我不会遇到任何问题。
但是,如果我通过自动化运行相同的步骤,则在单击“弹出”按钮后会启动新窗口,并且会出现“会话已过期”警告框。
请注意:如果我关闭 IE 的所有实例,那么我的自动化代码可以正常工作。我正在使用 Webdriver java API。
这可能是什么原因?
【问题讨论】:
您有多个测试吗?如果是这样,您是否在下一次测试中开始新浏览器之前关闭以前的浏览器?你能详细说明你在做什么吗? getWindowHandles() 在您的测试开始之前返回大小 >0 吗? 1.我正在尝试自动化端到端测试用例 2。我没有关闭以前的浏览器 3。getWindowHandles() 甚至在我使用任何 driver.get("url"); 之前返回 size = 1;请注意,如果我关闭所有 IE 实例并运行测试,测试工作正常。 【参考方案1】:我今天也遇到了同样的问题,对我有用的是在打开浏览器之前杀死 IE 进程。尽管这已经很晚了,但我希望这对其他人有所帮助。
【讨论】:
以上是关于WebDriver 2.0:如果 IE (IE8) 的实例已经存在,则弹出窗口的会话过期错误的主要内容,如果未能解决你的问题,请参考以下文章