• 出错后退出

在默认情况下,当一个测试用例中的某个关键字返回错误时,这个测试用例就停止执行剩余的关键字。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的返回值。

  • 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

这些关键字有些像Java中的Finally语句,但是略有区别,大家可以在使用的时候细细体会。另外要说的是,这些关键字只能被用到Suit Teardown部分(一般会写到一个用户自定义关键字中,被Suit Teardown调用)。他们的含义通过字面我们已经能够理解,格式也跟上边的两个关键字格式一致,就不一一展开介绍了。

  1. 每个用例只做一件事情是一个好习惯。
  2. 慎用Test setup和test teardown,善用Suit setup 和 Suit teardown

(转自:https://www.cnblogs.com/baihuitestsoftware/articles/6023376.html)

RobotFramework 用例出错后继续操作的更多相关文章

  1. thinkPHP 空模块和空操作、前置操作和后置操作 具体介绍(十四)

    本章节:介绍 TP 空模块和空操作.前置操作和后置操作 具体介绍 一.空模块和空操作 1.空操作 function _empty($name){ $this->show("$name ...

  2. 设置sudo不输入密码 sudoers 编辑出错后的补救方法

    一 设置sudo为不需要密码 有时候我们只需要执行一条root权限的命令也要su到root,是不是有些不方便?这时可以用sudo代替.默认新建的用户不在sudo组,需要编辑/etc/sudoers文件 ...

  3. ThinkPHP - 前置操作+后置操作

    前置操作和后置操作   系统会检测当前操作(不仅仅是index操作,其他操作一样可以使用)是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的方法名是在要执行的方法前面加 _before ...

  4. Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)

    原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问 ...

  5. thinkPHP 空模块和空操作、前置操作和后置操作 详细介绍(十四)

    原文:thinkPHP 空模块和空操作.前置操作和后置操作 详细介绍(十四) 本章节:介绍 TP 空模块和空操作.前置操作和后置操作 详细介绍 一.空模块和空操作 1.空操作 function _em ...

  6. /etc/profile 路径出错后相关的命令失效解决方式

    关于 Linux 的配置文件 /etc/profile 路径出错后相关的命令失效解决方式(如:ls,vi不能用) 今天学习LINUX 下配置jdk 和安装tomcat 通过VI编辑/etc/profi ...

  7. persistence_timeout ,域名请求登录后一操作即被踢出,,KeepAlive,lvs

    virtual_server *.*.*.* 80 { delay_loop 6 lb_algo wrr lb_kind DR persistence_timeout 120 protocol TCP ...

  8. mysql 批处理文件出错后继续执行

    在升级批处理sql脚本的时候,由于各种编写的不规范.不可重复执行,我们通常希望在sql脚本出错后不中止,而是执行完成.虽然这些问题可通过编写可重复执行的mysql存储过程比如add_column/dr ...

  9. PDO exec 执行时出错后如果修改数据会被还原?

    PDO exec 执行时出错后如果修改数据会被还原? 现象 FastAdmin 更新了 1127 版本,但是使用在线安装方式出现无法修改管理员密码的问题. 一直是默认的 admin 123456 密码 ...

随机推荐

  1. Scala Partial Function从官方文档解析

    A partial function of type PartialFunction[A, B] is a unary function where the domain does not neces ...

  2. Nagios-Nagios-Nagios系统监控(centos7部署源码)

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...

  3. C# WinFrom自适应

    1.在窗体的Project中建一个自适应的类. 2.类的代码如下 public class AutoSizeForm { //(1).声明结构,只记录窗体和其控件的初始位置和大小. public st ...

  4. u-boot initf_bootstage函数分析

    这篇博客主要分析 init_sequence_f 函数指针数组中的initf_bootstage函数: static int initf_bootstage(void){    bool from_s ...

  5. strtok的使用

    /* strtok函数的使用 */ #include <stdio.h> #include <stdlib.h> #include <string.h> // 函数 ...

  6. Apache服务器配置https

    https://startssl.com这个网站可以给我们免费提供可信任的https证书,这里简单介绍一下配置的过程. 首先服务器需要安装openssl和apache的mod_ssl.so模块,并且需 ...

  7. 【Linux】环境搭建基础

    1 部署环境基本过程 有部署文档的话,根据文档进行部署.一般情况下,部署过程如下 1.1第一次的时候 1.安装依赖软件 java(jdk.tomcat.redis.mysql) python py2 ...

  8. 【NOIP2016提高A组模拟8.17】(雅礼联考day1)Value

    题目 分析 易证,最优的答案一定是按\(w_i\)从小到大放. 我们考虑dp, 先将w从小到大排个序,再设\(f_{i,j}\)表示当前做到第i个物品,已选择了j个物品的最大值.转移就是\[f_{i, ...

  9. SpringBoot+Rocketmq

    @PostConstruct:用于在依赖关系注入完成之后需要执行的方法上,以执行任何初始化.此方法必须在将类放入服务之前调用. @PreDestroy:在开发中我们如果要在关闭spring容器后释放一 ...

  10. Nginx之概念和简介

    Nginx是什么? 代理服务器,处于客户端和服务器端之间的一台服务器,不负责处理请求. 主要作用是什么? 1.负载均衡: 高并发场景下,Nginx代理服务器按一定规则将请求分发,从而使服务器能有条不紊 ...