我想在测试用例中启动.sh文件,但是它无法像我希望的那样工作。
我用Run Process /appl/Test1/asd.sh Value1 Value2
尝试过
和OperatingSystem.Run /Path/Test1/asd.sh Value1 Value2
,但两者都不会像在shell中那样执行asd.sh。
我使用此关键字运行.pl脚本,没有问题。
感谢您的帮助
答案 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:
然后,接下来,您可以使用WRITE
或EXECUTE COMMAND
关键字在目标计算机/主机上运行.sh文件。