机器人框架字符串填充

use*_*257 4 python robotframework

寻找一种在 Robot Framework 上获得更好的对齐输出的方法(设置测试消息或日志)。下面是我如何在 python 上完成此操作的示例:

print "%-12s" % "received:", "%-5s" % 1323
print "%-12s" % "sent:", "%-5s" % 123
Run Code Online (Sandbox Code Playgroud)

输出:

received:    1323 
sent:        123 
Run Code Online (Sandbox Code Playgroud)

是否可以在 Robot Framework 上做同样的事情?

目前我的代码是:

Set Test Message      received: ${rx}\nsent: ${tx}
Run Code Online (Sandbox Code Playgroud)

我的输出是这样的(两个具有不同值的示例):

received: 847383
sent: 9511

received: 4814
sent: 9511111
Run Code Online (Sandbox Code Playgroud)

我的预期输出应该是

received: 847383
sent:     9511

received: 4814
sent:     9511111
Run Code Online (Sandbox Code Playgroud)

或者

received:  847383
sent:        9511

received:    4814
sent:     9511111
Run Code Online (Sandbox Code Playgroud)

Bry*_*ley 5

您可以使用Evaluate关键字运行一小段 Python 代码来格式化字符串。这是一个可以为您做到这一点的关键字:

*** Keywords ***
Record sent and received
    [Arguments]    ${sent}    ${received}
    ${message}=    Evaluate    
    ...    "%-12s %s\\n%-12s %s\\n" % ('received:', '${received}', 'sent:', '${sent}')
    set test message    ${message}
Run Code Online (Sandbox Code Playgroud)