【问题标题】:Selenium Webdriver 2.30 unable to identify object on the standard Salesforce lookup pop-up windowSelenium Webdriver 2.30 无法识别标准 Salesforce 查找弹出窗口中的对象
【发布时间】:2013-02-23 11:58:05
【问题描述】:

我正在使用 Selenium Webdriver 来自动化 Salesforce 应用程序中的功能性 TC。 测试场景: - 在案例页面上,单击“查找”,即搜索图标打开标准 Salesforce 搜索弹出窗口。我需要在搜索字段中输入特定的字符串,然后单击“Go”按钮。

虽然我可以单击“搜索”按钮,但脚本无法识别弹出窗口中的任何字段。

我使用 Alert()、getWindowHandle 和迭代器函数来验证驱动程序是否在弹出窗口上工作。是的,它是.. 弹出窗口是工作窗口。我可以使用浏览器窗口的 Java id 来确认这一点。但它仍然无法识别任何字段。

如果你们中的任何人遇到类似的问题和任何解决方案,请告诉我。

如果您想访问我的工作沙箱,请告诉我。可以管理它。

谢谢你,曼珠

【问题讨论】:

    标签: selenium salesforce popupwindow


    【解决方案1】:

    我认为问题在于弹出窗口内的元素位于框架中。切换到新的弹出窗口后,您需要先切换到框架,然后才能使用以下方法访问任何这些元素:

    WebElement frameLocator = driver.findElement(By.id("searchFrame")); 
    driver.switchTo.frame(frameLocator);
    

    【讨论】:

      【解决方案2】:

      除了 Bob 的回答,您还需要切换到“resultsFrame”才能使用搜索返回的任何链接。请注意,为了切换到同级框架,您必须首先使用以下方法到达框架集的父级:

      driver.switchTo().defaultContent();

      (此处的框架集指南:http://darrellgrainger.blogspot.co.uk/2012/04/frames-and-webdriver.html

      【讨论】:

        【解决方案3】:

        使用 Selenium IDE:

        我能够使用此代码选择 Salesforce PopUP:

        Command:selectPopUp
        Target:
        Value: Your popUp title
        

        以及结果帧:

        Command:selectFrame
        Target: name=resultFrame
        Value:
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多