我正在使用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: