【发布时间】:2012-02-05 23:13:36
【问题描述】:
我正在使用 Selenium 2 测试我们基于框架的 Web 应用程序。这是尝试登录用户并在生成的页面上切换到带有页面内容的框架的简单代码:
driver.get("http://localhost/index.pl");
driver.findElement(By.name("session_username")).sendKeys("my_username");
driver.findElement(By.name("session_password")).sendKeys("my_password");
driver.findElement(By.xpath("//input[@value='log in']")).click();
driver.switchTo().frame("qabody_r_head");
如果我发送FirefoxDriver、InternetExplorerDriver 或HtmlUnitDriver 类型的WebDriver,这将正常工作。但是如果驱动程序是OperaDriver 类型的,我会得到一个异常,并输出以下错误。
Exception in thread "main" org.openqa.selenium.NoSuchFrameException: Invalid frame name qabody_r_head
Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:57:28'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_02'
Driver info: driver.version: unknown
at com.opera.core.systems.scope.services.ums.EcmaScriptDebugger.changeRuntime(EcmaScriptDebugger.java:431)
at com.opera.core.systems.OperaDriver$OperaTargetLocator.frame(OperaDriver.java:772)
at SeleniumTest.testLogin(SeleniumTest.java:26)
at SeleniumTest.main(SeleniumTest.java:59)
是我做错了什么,还是 OperaDriver 不支持框架?
【问题讨论】: