2016-08-03 66 views
1

我想尽量减少我的机器人关键字,并在我的网址测试中,我有时必须从一组输入中构建一个URL,这些输入可能因测试而异。长度可以从我catenating传回一个网址与任何输入参数传入4-7的输入参数在任何地方在Robot Framework中连接多个输入参数的最佳方法是什么?

如果我有一个做以下关键字:

inputs: ${location01} ${location02} ${location03}=${EMPTY} ${location04}=${EMPTY} 
${my_url} = Catenate SEPARATOR=/ ${location01} ${location02} ${location03} ${location04} 
[Return] ${my_url} 

什么是测试$ {location03}是否为空的最佳方法,因此我可以跳过其余部分?

当我试图测试$ {EMPTY},这样下会出现假

${my_url} Run Keyword IF '${location03}'!='${EMPTY} Catenate SEPARATOR=/ ${location01} ${location02} ${location03} ${location04} 

我仍然得到连接而成的字符串,但在最后用的额外/结束,因此$ {} my_url看起来像:

${my_url} = ${location01}/${location02}// 

当我想:

${my_url} = ${location01}/${location02} 

我可能会丢失机器人是如何做的检查,并initi将我的变量进行调整,我相信目前有一种方法可以做到这一点。

回答

3

听起来像是你需要使用@ {} ARGS处理可变数量的参数:

*** Keywords *** 
Create URL 
    [Arguments] @{args} 
    ${url}=  Catenate SEPARATOR=/  @{args} 

*** Test Cases *** 
Test Url 
    Create URL  http://stackoverflow.com  questions  robotframework 
    Create URL  http://stackoverflow.com  questions 
+1

您可能要添加一个'[返回]'您的关键字。 –

+0

这正是我需要的......谢谢! – MichaelF

相关问题