Selenium Webdriver 2.30无法识别标准Salesforce查找弹出窗口中的对象

时间:2013-02-23 11:58:06

标签: selenium salesforce popupwindow

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

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

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

如果您有任何人面临类似问题和任何解决方案,请与我们联系。

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

谢谢,Manju

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

根据Bob的回答,您还需要切换到“resultsFrame”才能使用搜索返回的任何链接。请注意,要切换到兄弟框架,您必须首先使用以下方式转到框架集的父级:

driver.switchTo().defaultContent();

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

答案 2 :(得分:0)

使用Selenium IDE:

我可以使用以下代码选择Salesforce PopUP:

Command:selectPopUp
Target:
Value: Your popUp title

结果框架:

Command:selectFrame
Target: name=resultFrame
Value: