ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

15. Robot Framework中对出错处理的策略

2022-03-30 11:04:25  阅读:261  来源: 互联网

标签:Mykeyword Run Keyword 关键字 0.1 Robot Framework 出错 15


Robot Framework中对出错处理的策略

 
  • 出错后退出

    在默认情况下,当一个测试用例中的某个关键字返回错误时,这个测试用例就停止执行剩余的关键字。RF会继续执行下一个用例。这么做的好处是节省时间--反正这里出问题要返回来看了,再继续执行剩下的关键字也没有用了。

  • 出错后继续执行

     但是,有时候,我们却需要执行用例中的所有关键字,例如:要获取更多的出错信息、更改某些全局相关的变量、做teardown或者rollback操作等。这时候,我们就可以使用BuiltIn库中的关键字来让特定关键字出错后RF仍然执行用例中剩余关键字。

第一个关键字是:Run Keyword And Continue On Failure

假设我们有个关键字叫做 Mykeyword

我们这样使用:

 Run Keyword And Continue On Failure  Mykeyword
 Log  这一句被执行

这样,不管Mykeyword这个关键字是否fail,下一个关键字Log都会被执行。

如果Mykeyword有返回值,我们可以这么使用:

 

 ${str}  Run Keyword And Continue On Failure  Mykeyword
 Log  ${str}  

 

  • 获取关键字执行结果后继续执行 

    有时候,我们需要获取某个关键字的执行结果,然后根据结果做不同后续操作,这个时候,我们就会用到关键字Run Keyword And Ignore Error 。假设我们要执行一个关键字Mykeyword,关键字有一个返回值。我们可以如下使用:

 

 ${result}  ${returnvalue}  Run Keyword And Ignore Error Mykeyword 
 Log  ${result}+${returnvalue}    

Run Keyword And Ignore Error 有2个返回值${result}获取执行结果,值为PASS或者FAIL;${returnvalue}获取Mykeyword的返回值。

列如:循环中判断出错

通过“Exit For Loop If”关键字时行 for 循环内的判断,当满足 Exit For Loop If 条件后,循环结束。

#定义集群节点列表变量
@{rediscluster} 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 ${redisPasswd} 123456
FOR    ${redishost}    IN    @{rediscluster}
${ContentArray}    Split String    ${redisHost}    :
${redis_conn}    Connect To Redis    ${ContentArray}[0]    ${ContentArray}[1]    redis_password=${redisPasswd}
${resyilt}    ${returnvalue}    Run Keyword And Ignore Error    Delete From Redis    ${redis_conn}    operationFrequency:{${globalVIN}}:BATTERY_VOLTAGE_ALERT:${Date}
Exit For Loop If    '${resyilt}' == 'PASS'
END
  • TestSuit级别出错处理

有些场合,我们想要在整个testsuit执行结束后根据执行结果做一些特殊操作。这时候,我们就用上了下面几个个关键字:

Run Keyword If All Critical Tests Passed

Run Keyword If All Tests Passed

Run Keyword If Any Critical Tests Failed

Run Keyword If Any Tests Failed

Run Keyword If Test Failed

Run Keyword If Test Passed

Run Keyword If Timeout Occurred

 这些关键字只能被用到Suit Teardown部分(一般会写到一个用户自定义关键字中,被Suit Teardown调用)。他们的含义通过字面我们已经能够理解,格式也跟上边的两个关键字格式一致,就不一一展开介绍了。

 

标签:Mykeyword,Run,Keyword,关键字,0.1,Robot,Framework,出错,15
来源: https://www.cnblogs.com/zhangan/p/16075893.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有