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



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

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

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

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

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

谢谢,Manju

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

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

根据Bob的回答,您还需要切换到"resultsFrame"才能使用搜索返回的任何链接。请注意,为了切换到兄弟帧,您必须首先使用转到帧集的父帧

driver.switchTo().defaultContent();

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

使用硒IDE:

我可以使用以下代码选择Salesforce弹出窗口:

Command:selectPopUp
Target:
Value: Your popUp title

结果帧:

Command:selectFrame
Target: name=resultFrame
Value:

最新更新