簡體   English   中英

使用Robot Framework Test在瀏覽器中上傳文件

[英]Upload a file in browser using Robot Framework Test

我正在為我的Web應用程序使用Robot FrameworkSelenium編寫測試用例。 我嘗試上傳文件,但是我無法失敗。

我的代碼是

*** Variables ***
${TVAURL}     http://localhost:1500/
${Browser}    Firefox

TC_01: Enter into the application
    [Documentation]   Enter into the application to upload a file
    Open Browser   ${TVAURL}     ${Browser}
    maximize browser window
    Choose File ........

HTML檔案:

<!DOCTYPE html>
<html>
<head>
<title>Upload File</title>
</head>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>

我需要知道如何使用此Choose File進行此文件上傳測試。 我不知道該怎么做。 我需要沒有任何第三方工具(例如Autoit等)自動上傳文件,

我引用了以下http://robotframework.org/Selenium2Library/Selenium2Library.html#Choose%20File

而且我也提到了以下問題

但是我找不到任何解決方案。 請幫助我如何使用Pycharm Studio中的Robot Framework,Selenium來執行此操作。

回答#1:@ demouser123

仍然有問題,在這里附上了屏幕截圖

在此處輸入圖片說明

它總是打開桌面,然后失敗。 請幫助我。

我整理了以下代碼

*** Variables ***
${PO_AddShell}     //*[@id="fileToUpload"]

click button  ${PO_AddShell}
Choose File   ${PO_AddShell}    E://Project/Publish/SampleTest.1500/rose.jpg

根據Selenium2library中提供的文檔,使用“ Choose File關鍵字的語法為

Choose File  Locator  File_name

對於WebDriver可以與示例交互的對話框或輸入,將執行以下操作

Choose File id=fileToUpload  C://Downloads/Demo/Abc.txt

這里C://Downloads/Demo/Abc.txt是系統上保存文件的位置。 將此更改為您自己的文件位置。

另外,我還記得該解決方案,該解決方案最終也對我也有用 - 有關從Windows目錄上載的帖子 您也可以嘗試這個。

我正在為這個問題提供替代解決方案。 如果您沒有得到,請嘗試此。

運行以下腳本的前提條件:

你的機器從本上安裝Sikulix SikuliX ,這是易於安裝和安裝robotframework-SikuliLibrary。 如果需要更多選項SikuliX文檔,可以瀏覽文檔 使用某些截圖工具捕獲諸如下載路徑/文件名之類的圖像,並在以下腳本中更新名稱。

*** Settings ***
Library          Selenium2Library
Library           SikuliLibrary

*** Test cases  ***
Login to Browser with download preferences
 [Documentation]   This one is without specifying download location
    Open Browser  https://www.docdroid.net/   Chrome
    Click Element   id=selectFiles
    Sleep   5
    SikuliLibrary.Click      /images/download.PNG
    SikuliLibrary.Click      /images/file.PNG
    SikuliLibrary.Click      /images/open.PNG

如果要指定下載位置,請使用以下腳本

*** Settings ***

    Library          Selenium2Library
    Library           SikuliLibrary

    *** Test cases  ***
    Login to Browser with download preferences
     [Documentation]   You can specify your download location
        Open Browser  https://www.docdroid.net/   Chrome
        Click Element   id=selectFiles
        Sleep   5
        SikuliLibrary.Input Text           /images/file_path.PNG     C:\\Users\\Madhu\\Downloads
        Press Special Key        ENTER
        #SikuliLibrary.Click      /images/download.PNG
        SikuliLibrary.Click      /images/file.PNG
        SikuliLibrary.Click      /images/open.PNG

在robotframework中使用自動庫,您可以將文件上傳到應用程序中。 即使系統處於鎖定狀態,此解決方案也可以使用。

輸入文件名,然后在“窗口”對話框中單擊“發送”

run keyword if  '${Browser}' == 'Chrome'  File upload in Chrome browser
...   ELSE IF  '${Browser}' == 'Firefox'  File upload in Firefox browser

在Chrome瀏覽器中上傳文件

control focus  [CLASS:#32770; TITLE:Open]  ${EMPTY}  [CLASSNN:Edit1]
control send  [CLASS:#32770; TITLE:Open]  ${EMPTY}  [CLASSNN:Edit1]  C:\\File_Upload\\Test_Upload
control click  [CLASS:#32770; TITLE:Open]  ${EMPTY}  &Open

在Firefox瀏覽器中上傳文件

control focus  File Upload  ${EMPTY}  [CLASSNN:Edit1]
control send  File Upload  ${EMPTY}  [CLASSNN:Edit1]  C:\\File_Upload\\Test_Upload
control click  File Upload  ${EMPTY}  &Open

你不應該使用

click button  ${PO_AddShell}

只需使用選擇文件,無需點擊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM