【问题标题】:Robot Framework ellipsis concatenate adding commas机器人框架省略号连接添加逗号
【发布时间】:2020-03-11 02:54:56
【问题描述】:

在 Robot Framework 中,当我尝试使用省略号将长语句放在多行时,它会在换行符处添加一个逗号。

${Built_query} =  Set Variable  select oid, activityCode, activity_description from tblActivity 
...  where ACTIVITY_ENDDATE is null order by oid

这是 4 个空格省略号和两个空格。

结果是:

'select oid, activityCode, activity_description from tblActivity', 'where ACTIVITY_ENDDATE is null order by oid'

我们将不胜感激。

山姆。

【问题讨论】:

  • 有人告诉我,跨行进行真正的 concat 的唯一方法是使用 RegEx 删除逗号。对我来说,前景似乎太混乱了。

标签: robotframework


【解决方案1】:

当您使用... 时,每一行代表关键字的一个或多个参数。在您的情况下,Set Variable 看到两个单独的参数。当Set Variable 获得多个参数时,它会创建一个列表。

如果你想创建一个分散在不同行的字符串,你需要使用Catenate。使用Catenate,您可以定义用于连接每一行的内容。默认情况下,它使用一个空格。

${Built_query}=  Catenate  
...  select oid, activityCode, activity_description from tblActivity 
...  where ACTIVITY_ENDDATE is null order by oid

这是一个完整的测试,运行时通过:

*** Test Cases ***
Example
    ${Built_query}=  Catenate
    ...  select oid, activityCode, activity_description from tblActivity
    ...  where ACTIVITY_ENDDATE is null order by oid

    Should be equal
    ...  ${Built_query}
    ...  select oid, activityCode, activity_description from tblActivity where ACTIVITY_ENDDATE is null order by oid

【讨论】:

  • 很抱歉,它仍然用逗号分隔。
  • @SC_Adams:不,此代码不添加逗号。它绝对会在“select...”和“where...”之间放置一个空格。我已更新问题以包含通过的完整测试。
  • 我很抱歉——确实如此。不知道我看到了什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-16
  • 2011-10-31
相关资源
最近更新 更多