如何使用 Selenium IDE 处理下载对话框?

Posted

技术标签:

【中文标题】如何使用 Selenium IDE 处理下载对话框?【英文标题】:How to handle download dialog using Selenium IDE? 【发布时间】:2013-07-08 07:11:20 【问题描述】:

我有一个包含下载链接的网页。如果我点击该链接,将启动下载对话窗口并询问savecancel

如果我点击保存,文件将被下载,如果我点击Cancel按钮,它将被关闭。

但是,Selenium IDE 正在捕获对话框窗口中执行的任何操作。

请说明如何使用 Selenium IDE 处理这种情况。

提前致谢。

【问题讨论】:

可以使用如下方式:view 是否可以通过 Selenium IDE 执行? 我认为您需要更新生成的代码。但是我从来没有使用过 selenium IDE,所以我不能确定。 【参考方案1】:

不幸的是,对话框无法通过 javascript 进行交互,因此 Selenium IDE 无法操作它们。

如果您想点击链接并下载文件,您可以将 Firefox 设置为自动保存文件(无对话框 - http://kb.mozillazine.org/File_types_and_download_actions)。至少使用这种方法,您可以在本地运行时保存文件。

这样做的局限性在于,如果您想导出 selenese 并在外部测试解决方案(Saucelabs 或 Testingbot)上运行它,这种方法不太可能奏效。

【讨论】:

【参考方案2】:

您还可以在测试的 setUp 方法中修改 firefox 配置文件。

profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/msword,application/csv,text/csv,application/rtf,application/xml,text/xml,application/octet-stream,application/vnd.ms-excel,application/zip,text/txt,text/plain,application/pdf,application/x-pdf");

如果您要下载其他类型的文档,则应查找您尝试下载的任何文档的 MIME 类型,并将其添加到逗号分隔列表中。

【讨论】:

以上是关于如何使用 Selenium IDE 处理下载对话框?的主要内容,如果未能解决你的问题,请参考以下文章

selenium IDE的测试

Selenium Python FirefoxWebDriver处理打开保存对话框

selenium--1selenium ide 的下载

如何在Selenium IDE中循环测试?

selenium IDE插件下载

如何在 C# 中使用 Selenium?