使用 Robot Framework Test 在浏览器中上传文件
Upload a file in browser using Robot Framework Test
我正在使用 Robot Framework 和 Selenium 为我的 Web 应用程序编写测试用例。我尝试上传文件,但无法成功。
我的密码是
*** 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
另外我也提到了以下问题
- File Upload Option in Automation Testing Using Robot Framework
- https://github.com/robotframework/OldSeleniumLibrary/issues/108
但我找不到任何解决方案。请帮助我如何使用 Pycharm Studio 中的 Selenium Robot Framework 来做到这一点。
对答案 #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
是系统上保存文件的位置。将此更改为您自己的文件位置。
此外,我还记得这个解决方案,它最终也对我有用 - SO Post about uploading from a Windows directory。你也可以试试这个。
我正在为这个问题提供替代解决方案。如果你没有得到,请试试这个。
运行 以下脚本的先决条件:
通过此 SikuliX ,this is easy to install and install robotframework-SikuliLibrary . You can explore the documentation if you want some more options SikuliX documentation 在您的计算机上安装 Sikulix。使用一些截图工具捕获图像,如下载 path/filename,并在以下脚本中更新名称。
*** 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 中的 autoit 库,您可以将文件上传到应用程序中。即使系统被锁定,此解决方案也能正常工作。
在Window对话框中输入文件名并点击发送
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}
直接选择文件,不用点击
我正在使用 Robot Framework 和 Selenium 为我的 Web 应用程序编写测试用例。我尝试上传文件,但无法成功。
我的密码是
*** 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
另外我也提到了以下问题
- File Upload Option in Automation Testing Using Robot Framework
- https://github.com/robotframework/OldSeleniumLibrary/issues/108
但我找不到任何解决方案。请帮助我如何使用 Pycharm Studio 中的 Selenium Robot Framework 来做到这一点。
对答案 #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
是系统上保存文件的位置。将此更改为您自己的文件位置。
此外,我还记得这个解决方案,它最终也对我有用 - SO Post about uploading from a Windows directory。你也可以试试这个。
我正在为这个问题提供替代解决方案。如果你没有得到,请试试这个。
运行 以下脚本的先决条件:
通过此 SikuliX ,this is easy to install and install robotframework-SikuliLibrary . You can explore the documentation if you want some more options SikuliX documentation 在您的计算机上安装 Sikulix。使用一些截图工具捕获图像,如下载 path/filename,并在以下脚本中更新名称。
*** 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 中的 autoit 库,您可以将文件上传到应用程序中。即使系统被锁定,此解决方案也能正常工作。
在Window对话框中输入文件名并点击发送
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}
直接选择文件,不用点击