如何在Robot Framework中为测试用例使用TRUE和PASS值?

时间:2016-10-05 04:59:42

标签: robotframework

我是Robot Framework的新手,所以我需要帮助,我正在尝试“运行关键字如果”,如果我查看他们提供的文档 运行关键字如果| '$ {status}'=='通过'|一些行动arg

我怀疑这个PASS值。如何在每次尝试时都得到这个,我得到每个关键字语句的无值。我想做点什么:

*** Settings ***

*** Variables ***
${name}      theon

*** Test Cases ***
Verify
    ${x}=    Set Variable    function
    Run Keyword If    '${x}==PASS'    Log 'True'
    ...    ELSE    Log    'False'

*** Keywords ***
function
    ${return}=    Should Equal    ${name}    theon
    [Return]    ${return}

我得到的错误是x被定义为NONE然后我可以在我的关键字成功或True的条件下验证。

我还想帮助我是否可以使用自定义关键字代替'condition'来运行某些关键字。

运行关键字如果||一些自我关键字在这里返回我传递或真实||目标关键字

2 个答案:

答案 0 :(得分:0)

应该等于做什么? 由于RF中不存在应该等于,但这只是通过或未通过测试。 请注意,所有应该...... 的行为都是这样的。

如果 $ {name} theon 相等(相同),则可能需要评估,然后使用评估 ...

.find()

评估将返回True或False

然后这将有效。

${return}=    evaluate    '${name}'=='theon'

答案 1 :(得分:0)

而不是" status",您可以提供"条件"直接然后使用"自定义关键字"

采取特定操作

以下示例:

Run Keyword if  ${medicine_expiry_year} > 2000 and ${medicine_expiry_year} < 2016    Send Mail to Company   ${company_mail_id}
Run Keyword if  ${medicine_expiry_year} == 2016  Report Remaining Months to Store operator  ${month_of_expiry}  
Run Keyword if  ${medicine_expiry_year} > 2016   Log     "Keep the medicine"

以上示例中的条件:

${medicine_expiry_year} > 2000 and ${medicine_expiry_year} < 2016  
${medicine_expiry_year} == 2016
${medicine_expiry_year} > 2016

带参数的自定义关键字:

使用关键字&#34向公司发送邮件;将Main发送给公司&#34;使用&#34; $ {company_mail_id}&#34;

中提供的邮件ID
 Send Mail to Company   ${company_mail_id} 

使用关键字&#34报告剩余月份到商店运营商;报告剩余月份到商店运营商&#34;使用变量&#34; $ {month_of_expiry}&#34;

提供的到期月份
Report Remaining Months to Store operator  ${month_of_expiry}   

只需使用关键字

记录消息
Log  "Keep the medicine"

希望如此有用。