我正在使用Selenium Webdriver在Salesforce应用程序中自动化功能TC。 测试场景: - 在案例页面上,单击“查找”,即搜索图标,打开标准的Salesforce搜索弹出窗口。我需要在搜索字段中输入特定的字符串,然后单击“开始”按钮。
虽然我可以单击“搜索”按钮,但脚本无法识别弹出窗口中的任何字段。
我使用了Alert(),getWindowHandle&迭代器函数用于验证驱动程序是否在弹出窗口中工作。是的,它是弹出窗口的工作窗口。我可以使用浏览器窗口的Java ID来确认这一点。但它仍然无法识别任何字段。
如果您有任何人面临类似问题和任何解决方案,请与我们联系。
如果您想访问我的工作沙箱,请告诉我。能够管理它。
谢谢,Manju
答案 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: