【问题标题】:Testing a frame based web application in Opera using Selenium 2使用 Selenium 2 在 Opera 中测试基于框架的 Web 应用程序
【发布时间】: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");

如果我发送FirefoxDriverInternetExplorerDriverHtmlUnitDriver 类型的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 不支持框架?

【问题讨论】:

    标签: opera selenium-webdriver


    【解决方案1】:

    我在使用 OperaDriver 时遇到了同样的情况。 我想切换到主窗口中包含的框架。我无法切换到框架,而是出现以下错误 org.openqa.selenium.NoSuchFrameException: 框架名称无效

    以下是我在尝试选择框架时采取的步骤:

    //...
    driver.switchTo().defaultContent();
    driver.findElement(By.xpath("//input[@value='Save']")).click();
    driver.switchTo().frame("SaveFrame");       
    //...
    

    请注意,以上代码在 IE、Firefox 和 Chrome 中完美运行。

    我在测试上述内容时使用了 Opera 11.60。 我浪费了几个小时,并没有找到这个问题的答案。 有人使用过 Opera 的 switchTo().frame() 方法并且有效吗?

    【讨论】:

      【解决方案2】:

      这个框架是直接在首页内,还是在子框架内?如果是后者,则可能需要从层次结构的顶部开始,先选择父框架。

      在使用带有框架的 Dragonfly/测试工具时,我注意到了一些问题,但我认为这些问题已经解决。如果你能在某个地方放一个小演示,我可以看看..

      【讨论】:

        猜你喜欢
        • 2020-06-30
        • 1970-01-01
        • 2010-11-17
        • 2011-01-22
        • 2020-01-29
        • 2011-08-18
        • 1970-01-01
        • 2019-05-24
        • 1970-01-01
        相关资源
        最近更新 更多