如何通过机器人框架中的按钮处理文件上传

时间:2017-03-21 05:55:38

标签: robotframework

在测试webUI时,通过按钮上传文件时,但是当使用输入元素时,却很难看,如果你有一些想法没有替换按钮来处理上传文件。

2 个答案:

答案 0 :(得分:1)

Selenium 2库提供“Choose File”关键字来上传文件。它需要两个参数,第一个是按钮的定位器,第二个是需要上传的文件的路径。

示例:choose file xpath=.//div/input ${TEMPDIR}${/}file_pa.csv

参考:http://robotframework.org/Selenium2Library/Selenium2Library.html#Choose%20File

答案 1 :(得分:0)

我遇到了同样的问题,并且可以使用其他库来解决。 Selenium2Library支持“输入”字段,因此仅当您有一个输入字段选择该字段然后单击其他按钮进行上传时,它才起作用。这是一个老式的场景。为了实现这一点,您需要其他控制Windows控件的库,例如AutoItLibrary或SikuliLibrary。以下是使用这两种方法的快速示例

AutoItLibrary:

    sleep           2s
    Send            ${ImagePath}   # This sends the file path to the entery field where the cursor is focused 
    sleep           3s
    Control Click  strTitle=Open, strText=Open, strControl=1, strButton=Button1, nNumClicks=1, nX=1228, nY=291
    # In some cases some parameters cannot be identified easily so yo might just use only the buttong name as the following
    # Control Click   ${EMPTY}   ${EMPTY}    Button1    ${EMPTY}    1

对于SikuliLibrary,您可以使用Press键单击控制器,并且可以找到许多方法来使用javascript或其他关键字来模拟复制粘贴。对于SikuliLibrary上的回车仿真,请使用以下命令:

Press Special Key       ENTER       #Case senstive (to press enter with Sikuli)