假如有一个用例:
1.登陆
2.下单
3.对历史单评价
4.退出

情况一:当第1步执行失败时,我们希望用例不再执行,因为再执行也没有意义了,反而浪费时间;
情况二:当第2步执行失败时,我们希望能略过第2步操作,继续往下执行。

Katalon提供了Failure Handing功能,在Project菜单中的Setting选项中,可以设置全局的语句失败处理,如图

各选项含义如下:

此处的设置是对所有用例都生效的。但如果我们要同时兼容情况一和情况二,可以再手动对某行代码设置失败处理。只要在视图模式中右击某行代码,菜单中的Change failure handing即可指定单行的失败处理方式:

当在视图模式选择失败处理方式后,在代码模式也会改变对应代码,所以我们也可以直接在代码中修改失败处理方式。
全局和单行处理方式不同时以单行的为准。

回到开头的用例,情况一我们可以给登陆步骤设为Stop on Failure,情况二我们可以给下单步骤设为Continue on Failure。

另外,在运行Test Suites时(假如一个用例集有10个用例),如果第1个用例中的某行被设为Stop on Failure导致用例失败,不会影响第2个用例,第2个用例仍会执行。

Katalon的关键字大部分支持Failure Handing功能,另外Katalon还提供了强制停止用例的代码语句,以备特殊情况使用。举个例子,当页面某元素不是期望的值时,则停止用例执行:

import com.kms.katalon.core.exception.StepErrorException as StepErrorException

String name = WebUI.getText(findTestObject('szh/div'), FailureHandling.STOP_ON_FAILURE)//获取文本执行失败时,停止用例执行

println('开始')

if (name == '新闻') {
println('元素存在且值正确')
} else {
throw new StepErrorException('The test case is forced to stop here!')
println('本语句永远不会被打印')
} println('元素值不对时本语句不会被打印')

Katalon系列二十一:用例中语句失败处理的更多相关文章

  1. 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用

    目录 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用 21.1 read命令键盘读取变量的值 21.1.1 read常用见用法及参数 21.2 流程控制语句if 21.2 ...

  2. 【圣诞特献】Web 前端开发精华文章推荐【系列二十一】

    <Web 前端开发精华文章推荐>2013年第九期(总第二十一期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和  ...

  3. Windows下USB磁盘开发系列二:枚举系统中所有USB设备

    上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...

  4. log4net保存到数据库系列二:独立配置文件中配置log4net

    园子里面有很多关于log4net保存到数据库的帖子,但是要动手操作还是比较不易,从头开始学习log4net数据库日志一.WebConfig中配置log4net 一.WebConfig中配置log4ne ...

  5. .NET面试题系列(二十一)C#中Equals和==的比较

    序言 值类型的比较 ; ; Console.WriteLine("Equals和= =(等于号)的比较"); Console.WriteLine("i.Equals(j) ...

  6. Oracle系列二 基本的SQL SELECT语句

    1.查询表中全部数据 示例: SELECT * FROM employees; 说明: SELECT   标识 选择哪些列. FROM      标识从哪个表中选择. *           选择全部 ...

  7. Android Multimedia框架总结(二十一)MediaCodec中创建到start过程(到jni部分)

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53386117 我最近正在参加CS ...

  8. SSE图像算法优化系列二十一:基于DCT变换图像去噪算法的进一步优化(100W像素30ms)。

    在优化IPOL网站中基于DCT(离散余弦变换)的图像去噪算法(附源代码) 一文中,我们曾经优化过基于DCT变换的图像去噪算法,在那文所提供的Demo中,处理一副1000*1000左右的灰度噪音图像耗时 ...

  9. 深度学习基础系列(十一)| Keras中图像增强技术详解

    在深度学习中,数据短缺是我们经常面临的一个问题,虽然现在有不少公开数据集,但跟大公司掌握的海量数据集相比,数量上仍然偏少,而某些特定领域的数据采集更是非常困难.根据之前的学习可知,数据量少带来的最直接 ...

随机推荐

  1. windows server 文件夹和搜索选项被禁用了

    当我们需要调整 windows 文件夹相关的配置时,却发现“文件夹和搜索选项”被禁用了,下图是恢复正常的情况.被禁用时显示灰色,不能点击. 下面给出解决步骤: 打开“组策略”. 然后依次展开“用户配置 ...

  2. MapReduce 图解流程

    Anatomy of a MapReduce Job In MapReduce, a YARN application is called a Job. The implementation of t ...

  3. [Bzoj3696]化合物【暴力+树形Dp】

    Online Judge:Bzoj3696 Label:暴力,树形Dp 题目描述 首长NOI惨跪,于是去念文化课了.现在,他面对一道化学题. 这题的来源是因为在一个奇怪的学校两个化竞党在玩一个奇怪的博 ...

  4. 3926: [Zjoi2015]诸神眷顾的幻想乡

    传送门 一个广义后缀自动机模板. //Achen #include<algorithm> #include<iostream> #include<cstring> ...

  5. PAT甲级——A1021 Deepest Root

    A graph which is connected and acyclic can be considered a tree. The height of the tree depends on t ...

  6. Django-rest Framework(四)

    序列化模块时rest-framework的很重要的组成部分 rest-framework序列化模块(核心) 一. 为什么要使用序列化组件? ​ 后台的数据多以后台的对象存在,经过序列化后,就可以格式化 ...

  7. service network restart 报错重启失败

    Job for network.service failed because the control process exited with error code. See “systemctl st ...

  8. Docker(六)安装Red5进行rtmp推流

    1.pull镜像 docker pull mondain/red5 2.启动原版red5 docker run --name red5 -d -p 5080:5080 -p 1935:1935 mon ...

  9. Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal前序与中序构造二叉树

    根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15 ...

  10. Django项目:CRM(客户关系管理系统)--37--29PerfectCRM实现King_admin编辑自定义限制

    #base_admin.py # ————————24PerfectCRM实现King_admin自定义操作数据———————— from django.shortcuts import render ...