我想知道现在是否可以实施"下载测试"使用Selenium。检测文件下载是否已经开始就足够了。 重要的是要说文件不是静态的,因此无法通过特定URL访问它们。它们是动态创建的,并根据用户提供的输入填充数据。 我也不能使用FirefoxProfile,因为我的自动化网络测试使用chrome驱动程序和phantomjs。他们还需要在Hudson下运行(这里当然只使用了phantomjs)。 应用程序在JBoss Server下运行,因此我使用的是Arquillian库。
谢谢
答案 0 :(得分:1)
是的,仅适用于Firefox 因此必须配置特殊功能
firefox_profile = FirefoxProfile()
firefox_profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv, image/png, application/octet-stream, text/plain") # File mine types
firefox_profile.set_preference("browser.download.manager.showWhenStarting", False)
firefox_profile.set_preference("browser.download.dir", "/tmp")
firefox_profile.set_preference("browser.download.folderList", 2)
但对于任何其他浏览器,我通常做一个简单的技巧,我得到一个文件的链接,而不是使用f.e.请求lib并检查文件头
import requests
r = requests.head("https://www.google.com.ua//images/srpr/logo11w.png")
assert r.status_code == 200
assert r.headers['content-type'] == 'image/png'