机器人框架中连接两个字符串的最简单方法是什么?

24

在Robot Framework中,将字符串'a'和'b'连接起来并赋值给一个新变量的最简单方法是什么?

我尝试了这种简单的Pythonic方法,但它没有起作用。

${var}= 'a' + 'b'
4个回答

35

你可以使用内置函数 Catenate

文档中的示例:

${str1} =   Catenate    Hello   world   
${str2} =   Catenate    SEPARATOR=---   Hello   world
${str3} =   Catenate    SEPARATOR=  Hello   world
=>
${str1} = 'Hello world'
${str2} = 'Hello---world'
${str3} = 'Helloworld'

1
当我试图寻找一个关键字来实现这个目的时,我一直在寻找“Concatenate”,但是找不到它。最终,在发现该关键字名称只是_Catenate_而没有_con_之后,我开始使用Format String - Jack

21

Catenate是处理字符串的常见方法,正如其他回答中所指出的那样。
另一种选择是仅使用Set Variable

${a}=    Set Variable   First
${b}=    Set Variable   Second

${c}=    Set Variable   ${a}${b}
Log To Console    ${c}    # prints FirstSecond

${c}=    Set Variable   ${a} ${b}
Log To Console    ${c}    # prints First Second

${c}=    Set Variable   ${a}-/-${b}
Log To Console    ${c}    # prints First-/-Second

解释是,任何关键字参数的RF处理 - 包括 Set Variable,都会通过将任何变量替换为其值来完成。例如,对于此调用:

Set Variable   ${a}-/-${b}

大致的过程是“最终值为变量a的值-/-变量b的值”。


2
在“变量”部分,我使用了最简单的插值方式。
${a}   Hello
${b}   World
${c}   ${a}${b}

0
如果你需要将结果分配给一个仅使用一次的变量,那么你可以使用内联表达式,比如使用 Python 的 str.join()在你使用该变量的地方直接进行操作。最终的 Catenate 使用了 str.join()
${a}  Set Variable  Hello
${b}  Set Variable  World

Some keyword  ${{ " ".join([$a, $b]) }}
Some keyword  ${{ "\n\n".join([$a, $b]) }}

注意:此适用于RF 3.2及更高版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接