在Selenium 2中:driver.switchTo().frame()导致应用程序崩溃
我正在使用Selenium 2和IE7 我正在测试的应用程序中有很多iFrame。 所以我使用在Selenium 2中:driver.switchTo().frame()导致应用程序崩溃,selenium,webdriver,Selenium,Webdriver,我正在使用Selenium 2和IE7 我正在测试的应用程序中有很多iFrame。 所以我使用driver.switchTo().frame()方法在iFrame之间切换。 在切换到iframe之前,我还使用driver.switchTo().defaultContent() 但是,在某些情况下,driver.switchTo().frame()会导致应用程序崩溃。 以下是eclipse中的错误: Problem signature: Problem Event Name: APPCRA
driver.switchTo().frame()
方法在iFrame之间切换。
在切换到iframe之前,我还使用driver.switchTo().defaultContent()
但是,在某些情况下,driver.switchTo().frame()
会导致应用程序崩溃。
以下是eclipse中的错误:
Problem signature:
Problem Event Name: APPCRASH
Application Name: javaw.exe
Application Version: 6.0.70.6
Application Timestamp: 484e4780
Fault Module Name: IEDriver.dll
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4fdf5b90
Exception Code: c0000005
Exception Offset: 0008a71e
OS Version: 6.0.6001.2.1.0.274.10
Locale ID: 1033
Additional Information 1: 1699
Additional Information 2: 3c7b32a427f0a23d017c01e406809b93
Additional Information 3: 437a
Additional Information 4: 0abbaf052c4358d69b1ef6b054f6ab09
我甚至尝试通过,driver.findElement(by.id(iframeID)).getAttribute(“src”)
获取iframe的源代码,并且我能够获取iframe的源代码。
我还尝试在iframe切换之间引入wait,但它仍然会给出相同的错误。
我不知道为什么它会导致应用程序崩溃,因为它在某些情况下工作
有没有人有过类似的经验或能想到任何解决方案???我用这段代码来选择iframe by src,它可以工作:
driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[src=\"SRC_OF_FRAME\"]")));
根据我的经验,IEDriver根本不稳定,所以这可能是它唯一的问题。。。您能提供一些代码吗?您使用的是什么版本的SeleniumWebDriver?您还应该使用IEDriverServer.exe而不是内部的.dll。@Frank,我强烈反对您将IEDriver描述为“根本不稳定”。如果您遇到了具体的、可复制的问题,我相信开发团队会很乐意听到这些问题。@JimEvans总的来说,我是整个Selenium项目的忠实粉丝,尤其是WebDriver。我知道Mozilla为Selenium提供了更好的集成,这是微软的老问题。但从我的角度来看,如果一个自动化的工作流与FF一起工作,但与IE不一起工作,那不是我的错(除了少数例外)。此外,IE在会话处理和经常被引用的游标问题方面也存在问题,这也会起到一定的作用。这是我们必须单独进行IE测试的主要原因,而不是作为std测试的一部分。