Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Selenium 2中:driver.switchTo().frame()导致应用程序崩溃_Selenium_Webdriver - Fatal编程技术网

在Selenium 2中:driver.switchTo().frame()导致应用程序崩溃

在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

我正在使用Selenium 2和IE7

我正在测试的应用程序中有很多iFrame。 所以我使用
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测试的一部分。