Robot Framework:如何在测试用例中执行.sh文件?

时间:2019-02-11 13:54:06

标签: linux shell robotframework

我想在测试用例中启动.sh文件,但是它无法像我希望的那样工作。

我用Run Process /appl/Test1/asd.sh Value1 Value2尝试过 和OperatingSystem.Run /Path/Test1/asd.sh Value1 Value2,但两者都不会像在shell中那样执行asd.sh。

我使用此关键字运行.pl脚本,没有问题。

感谢您的帮助

1 个答案:

答案 0 :(得分:-1)

您是要在启动ROBOT Framework的同一台计算机上运行.sh脚本,还是在另一台目标unix / linux计算机上运行.sh文件?

这两个(2)方案的解决方案如下。您可以使用此RUN PROCESS关键字来做很多事情,请参考RUN PROCESS关键字的链接:http://robotframework.org/robotframework/latest/libraries/Process.html

A。在启动ROBOT Framework的同一台机器/操作系统中运行.sh脚本:

Run Process /appl/Test1/asd.sh  shell=yes   --option  argument

B。在另一台目标计算机上运行.sh脚本;

为了运行.sh文件,您必须首先编写ROBOT Framework的脚本以登录到该UNIX / Linux计算机。因此,请按照以下步骤操作。

将SSH库导入您的RIDE。请按照此处的步骤操作:http://robotframework.org/SSHLibrary/

编写ROBOT脚本以登录到UNIX / Linux计算机。请首先浏览“ SSH库”下的所有可用关键字,以了解其窍门。编写脚本的方法有很多,但下面是示例。

请参阅下面的示例登录脚本。

#SAMPLE A
Open Connection    ${server_ip}    prompt=$
${std_output}=    Login ${username}    ${password}
Should Contain    ${std_output}    $


#SAMPLE B
Write    sudo -u root -i
${std_output}=    Read    delay=5s
Should Not Contain    ${std_output}    Permission denied
Should Not Contain    ${std_output}    Password:
 #
Write    cd /${hostname}_folder/Access
${std_output}=    Read    delay=5s
Log    ${std_output}
Should Not Contain    ${std_output}    Permission denied
#
Write    su devowner
${std_output}=    Read    delay=5s
Log    ${std_output}
Should Not Contain    ${std_output}    Password:

然后,接下来,您可以使用WRITEEXECUTE COMMAND关键字在目标计算机/主机上运行.sh文件。