Url 什么';在机器人框架中连接多个输入参数的最佳方法是什么?
我试图最小化我的机器人关键词,在我的URL测试中,我有时不得不从一组输入建立一个URL,根据测试的不同,这些输入可能会有所不同。长度可以是4到7个输入参数中的任意一个,我正在链接这些参数,以便用传入的任何输入参数传回一个URL 如果我有一个关键字可以执行以下操作:Url 什么';在机器人框架中连接多个输入参数的最佳方法是什么?,url,concatenation,robotframework,Url,Concatenation,Robotframework,我试图最小化我的机器人关键词,在我的URL测试中,我有时不得不从一组输入建立一个URL,根据测试的不同,这些输入可能会有所不同。长度可以是4到7个输入参数中的任意一个,我正在链接这些参数,以便用传入的任何输入参数传回一个URL 如果我有一个关键字可以执行以下操作: inputs: ${location01} ${location02} ${location03}=${EMPTY} ${location04}=${EMPTY} ${my_url} = Catenate SEPARATOR=/ ${
inputs: ${location01} ${location02} ${location03}=${EMPTY} ${location04}=${EMPTY}
${my_url} = Catenate SEPARATOR=/ ${location01} ${location02} ${location03} ${location04}
[Return] ${my_url}
如果${location03}是空的,并且因此可以跳过其余部分,那么最好的测试方法是什么
当我尝试测试${EMPTY}时,以下内容将为false
${my_url} Run Keyword IF '${location03}'!='${EMPTY} Catenate SEPARATOR=/ ${location01} ${location02} ${location03} ${location04}
我仍然会得到一个链接字符串,但最后会有额外的/,因此${my_url}看起来像:
${my_url} = ${location01}/${location02}//
当我想要的时候:
${my_url} = ${location01}/${location02}
我可能不知道Robot是如何进行检查和初始化我的变量的,我确信目前有一种方法无法做到这一点。听起来您需要使用@{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
听起来您需要使用@{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
您可能需要在关键字中添加一个
[return]
。您可能需要在关键字中添加一个[return]
。