我使用Robot Framework.
在我的HTML页面上,我有一个简单的按钮.单击它时,它会下载pdf文件.
如果文件已下载,我如何查看Robot Framework?
TKS
${SERVER} ${SERVER_DEV} ${NAME} Robot ${FILE_NAME} Robot.pdf ${CLASS_NAME} in ${DOWNLOAD_DIRECTORY} C:\\robot_download Scenario: User can download Create Directory ${DOWNLOAD_DIRECTORY} ${CHROME_OPTIONS}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys,selenium.webdriver ${disabled} Create List Chrome PDF Viewer ${prefs} Create Dictionary download.default_directory=${DOWNLOAD_DIRECTORY} plugins.plugins_disabled=${disabled} Call Method ${CHROME_OPTIONS} add_experimental_option prefs ${prefs} Create Webdriver Chrome chrome_options=${CHROME_OPTIONS} Goto ${SERVER} Click Element ${NAME} Wait Until Element Is Visible css=div.${CLASS_NAME} 8 Page Should Contain ${NAME} Set Selenium Speed 10s Download PDF ${NAME} File Should Exist C:\\robot_download\\${FILE_NAME}
解决方法
该解决方案非常适合浏览器.对于Chrome,您可以告诉Chrome在哪里下载文件.选择新文件夹可以监视下载的状态.此外,由于您正在下载PDF,因此需要禁用PDF插件以防止显示PDF而不是下载PDF.这是一个使用简单页面和PDF文件在我的机器上运行的测试.
*** Settings *** Test Teardown Close All browsers Library Selenium2Library Library OperatingSystem *** Test Cases *** Download PDF # create unique folder ${Now} Get Time epoch ${download directory} Join Path ${OUTPUT DIR} downloads_${Now} Create Directory ${download directory} ${chrome options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys,selenium.webdriver # list of plugins to disable. disabling PDF Viewer is necessary so that PDFs are saved rather than displayed ${disabled} Create List Chrome PDF Viewer ${prefs} Create Dictionary download.default_directory=${download directory} plugins.plugins_disabled=${disabled} Call Method ${chrome options} add_experimental_option prefs ${prefs} Create Webdriver Chrome chrome_options=${chrome options} Goto http://localhost/download.html Click Link link # downloads a file # wait for download to finish ${file} Wait Until Keyword Succeeds 1 min 2 sec Download should be done ${download directory} *** Keywords *** Download should be done [Arguments] ${directory} [Documentation] Verifies that the directory has only one folder and it is not a temp file. ... ... Returns path to the file ${files} List Files In Directory ${directory} Length Should Be ${files} 1 Should be only one file in the download folder Should Not Match Regexp ${files[0]} (?i).*\\.tmp Chrome is still downloading a file ${file} Join Path ${directory} ${files[0]} Log File was successfully downloaded to ${file} [Return] ${file}
download.html的内容:
<html><body><a href="file.pdf" id="link">Click Here</a></body></html>
原文地址:https://www.jb51.cc/html/226088.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。