我正在使用 Robot Framework 和 Selenium 为我的Web应用程序编写测试用例。我试图上传文件,但我不能失败。
我的代码是
<!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>
HTML文件:
Choose File
我需要知道如何使用此 *** Variables ***
${PO_AddShell} //*[@id="fileToUpload"]
click button ${PO_AddShell}
Choose File ${PO_AddShell} E://Project/Publish/SampleTest.1500/rose.jpg
进行此文件上传测试。我不知道该怎么做。我需要自动上传文件,而不需要任何第三方工具,如Autoit等,
我提到了以下http://robotframework.org/Selenium2Library/Selenium2Library.html#Choose%20File
此外,我也提到了以下问题
但我无法获得任何解决方案。请使用Pycharm Studio中的Selenium Robot Framework来帮助我如何做到这一点。
回答#1:@ demouser123
我还有问题,在这里,我附上了屏幕截图
它总是打开桌面,但失败了。请帮助我。
我试过以下代码
e
答案 0 :(得分:3)
根据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。你也可以试试这个。
答案 1 :(得分:0)
在脚本下运行的先决条件:
从这个SikuliX在您的机器上安装Sikulix,这很容易安装和安装robotframework-SikuliLibrary。如果您想要更多选项SikuliX documentation,可以浏览文档。使用某些剪切工具捕获下载路径/文件名等图像,并在以下脚本中更新名称。
*** 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
答案 2 :(得分:0)
在机器人框架中使用自动库,您可以将文件上传到应用程序中。即使系统被锁定,此解决方案仍可正常工作。
输入文件名,然后单击“窗口”对话框中的“发送”
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
答案 3 :(得分:0)
您不应使用
click button ${PO_AddShell}
只需使用选择文件而无需点击