如何使用 Selenium IDE 处理下载对话框?
Posted
技术标签:
【中文标题】如何使用 Selenium IDE 处理下载对话框?【英文标题】:How to handle download dialog using Selenium IDE? 【发布时间】:2013-07-08 07:11:20 【问题描述】:我有一个包含下载链接的网页。如果我点击该链接,将启动下载对话窗口并询问save或cancel。
如果我点击保存,文件将被下载,如果我点击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 处理下载对话框?的主要内容,如果未能解决你的问题,请参考以下文章