<p>如果在所有情况下,您都根据单个值(即<code>${Type}</code>)决定要执行的关键字,那么您可以尝试使用<code>type=keyword</code>之类的映射创建字典,并动态找出要执行的关键字。下面是一个简单的例子:</p>
<pre><code>*** Settings ***
Library Collections
*** Variables ***
&{TYPE_MAPPING} deal=keyword1 scenario=keyword2 site=keyword3 sitefile=keyword4
*** Test Cases ***
Dynamic-Keyword-Name
Take Action Based On Type deal
Take Action Based On Type scenario
Take Action Based On Type site
Take Action Based On Type sitefile
Take Action Based On Type xyz
*** Keywords ***
Take Action Based On Type
[Arguments] ${type}
${kw_name} Map Type To Keyword Name ${type}
Run Keyword And Continue On Failure ${kw_name}
Map Type To Keyword Name
[Arguments] ${type}
${result} ${value} Run Keyword And Ignore Error Get From Dictionary ${TYPE_MAPPING} ${type.lower()}
Run Keyword If '${result}' == 'FAIL' Fail msg=Was not able to map type "${type}" to keyword name
Return From Keyword ${value}
keyword1
Log Deal
keyword2
Log Scenario
keyword3
Log Site
keyword4
Log SiteFile
</code></pre>
<p>和日志:
<a href="https://i.stack.imgur.com/sbLJ1.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/sbLJ1.png" alt="screenshot of logs"/></a></p>