加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 机器人框架下载文件

发布时间:2020-12-14 18:31:25 所属栏目:资源 来源:网络整理
导读:我使用Robot Framework. 在我的HTML页面上,我有一个简单的按钮.单击它时,它会下载pdf文件. 如果文件已下载,我如何查看Robot Framework? TKS 我找到了一个解决方案,请转到@ ombre42: ${SERVER} ${SERVER_DEV}${NAME} Robot${FILE_NAME} Robot.pdf${CLASS_NA
我使用Robot Framework.

在我的HTML页面上,我有一个简单的按钮.单击它时,它会下载pdf文件.

如果文件已下载,我如何查看Robot Framework?

TKS

我找到了一个解决方案,请转到@ ombre42:

${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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读