【发布时间】:2020-09-03 12:39:56
【问题描述】:
我想在 Firefox 中设置不带对话框窗口的文件下载。我使用该代码:
${Number_value} = Evaluate 4-2 # I need it to set numeric value not string
${DesiredCapabilities} = Evaluate sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX.copy()
Set To Dictionary ${DesiredCapabilities} browser.download.downloadDir=${downloadDir}
... browser.download.folderList=${Number_value}
... browser.download.useDownloadDir=${True}
... browser.download.manager.closeWhenDone=${True}
... browser.download.manager.scanWhenDone=${False}
... browser.download.manager.showAlertOnComplete=${False}
... browser.download.manager.showWhenStarting=${False}
... browser.download.manager.useWindow=${False}
... browser.download.useDownloadDir=${True}
... browser.helperApps.alwaysAsk.force=${False}
Log ${DesiredCapabilities}
Open Browser about:blank firefox desired_capabilities=${DesiredCapabilities}
我看到在测试过程中按下了[保存]按钮,但文件没有下载,对话窗口也没有隐藏。
${DesiredCapabilities} 的日志:
{'browserName': 'firefox', 'marionette': True, 'acceptInsecureCerts': True, 'browser.download.downloadDir': ${downloadDir}, 'browser.download.folderList': 2, 'browser. download.useDownloadDir':真,'browser.download.manager.closeWhenDone':真,'browser.download.manager.scanWhenDone':假,'browser.download.manager.showAlertOnComplete':假,'browser.download.manager。 showWhenStarting': False, 'browser.download.manager.useWindow': False, 'browser.helperApps.alwaysAsk.force': False, 'browser.helperApps.neverAsk.saveToDisk': 'application/sql'}
geckodriver.log 文件有这样几行:
1589738958827 Marionette INFO Listening on port 52174
1589738958828 Marionette DEBUG Marionette is listening
1589738959167 Marionette DEBUG Accepted connection 0 from 127.0.0.1:52187
1589738959169 Marionette DEBUG 0 -> [0,1,"WebDriver:NewSession",{"acceptInsecureCerts":true,"browserName":"firefox","capabilities":{"desiredCapabilities":{"acceptInsecureCerts":true,"browserName":"firefox"}}}]
1589738959170 Marionette WARN TLS certificate errors will be ignored for this session
1589738959196 Marionette TRACE [18] Frame script loaded
1589738959200 Marionette TRACE [18] Frame script registered
1589738959206 Marionette DEBUG 0 <- [1,1,null,{"sessionId":"872cf638-e4ae-465b-a00a-0887601cd3f3","capabilities":{"browserName":"firefox","browserVersion":"76.0. ... alse,"moz:webdriverClick":true,"capabilities":{"desiredCapabilities":{"acceptInsecureCerts":true,"browserName":"firefox"}}}}]
1589738959213 Marionette DEBUG 0 -> [0,2,"WebDriver:SetTimeouts",{"script":60000}]
1589738959213 Marionette DEBUG 0 <- [1,2,null,{"value":null}]
1589738959216 Marionette DEBUG 0 -> [0,3,"WebDriver:SetTimeouts",{"implicit":0}]
1589738959217 Marionette DEBUG 0 <- [1,3,null,{"value":null}]
1589738959219 Marionette DEBUG 0 -> [0,4,"WebDriver:Navigate",{"url":"about:blank"}]
1589738959226 Marionette TRACE [18] Received DOM event beforeunload for about:blank
1589738959227 Marionette TRACE [18] Received DOM event pagehide for about:blank
1589738959233 Marionette TRACE [18] Received DOM event DOMContentLoaded for about:blank
1589738961616 Marionette TRACE [18] Received DOM event pageshow for about:blank
看起来我的自定义设置没有在测试中使用。
如何在 Open Browser 命令中为 Firefox 设置自定义设置?
(robotframework 3.2;robotframework-seleniumlibrary 4.4.0)
【问题讨论】:
标签: robotframework