我是硒RC的新手。我一直在eclipse中运行一个简单的junit测试用例来运行并从adobe.com下载flashplayer。
但是selenium RC无法点击甚至识别下载弹出窗口。我一直在谷歌搜索中看到一些建议,但我仍然无法做到。
我一直试图获取弹出窗口的窗口ID或名称,但我仍然无法做到。我在下面复制了我的代码的主要功能:
public void testPopup() throws Exception
{
selenium.open("http://get.adobe.com/");
selenium.open("/flashplayer/");
selenium.click("id=buttonDownload");
String ids[]=selenium.getAllWindowIds();
for(int i=0;i<ids.length;i++)
System.out.println(ids[i]);
String[] windownames=selenium.getAllWindowNames();
for(int i=0;i<windownames.length;i++)
System.out.println(windownames[i]);
String feedWinId = selenium.getEval("{var windowId; for(var x in selenium.browserbot.openedWindows ) {windowId=x;} }");
System.out.println(feedWinId);
selenium.chooseOkOnNextConfirmation();
selenium.waitForPageToLoad("30000");
}
如果有人可以帮我解决这个问题,那将会很棒。
由于
答案 0 :(得分:0)
简短的回答:你不能。
更长但仍然令人失望的答案:
你不能,因为目前没有Selenium实现支持它。 Selenium人know about it,实际上是nr。 13现在Selenium中大多数想要的功能
Selenium RC永远不会拥有它,因为它的技术限制(它是纯JavaScript。纯JavaScript不能下载和保存文件。)并且它已经在一年前被弃用了。 Selenium WebDriver ......好吧,也许,将来。您可以尝试各种各样的事情:
200 OK
下载?Robot
班can help。您只需单击该文件,然后盲目地按 Enter 或任何键将文件下载到正确的位置。还有AutoIt framework,很多人use for this task。答案 1 :(得分:0)
使用selenium无法自动生成系统生成弹出窗口
为此你转移Autoit with selenium
。
借助此功能,您可以在下载弹出窗口中记录您的活动