利用装饰器,自动处理异常并优雅实现重跑case

前言

同学们在运行自动化脚本时是否遇到过这些场景?

case因为网络波动而跑失败了?
在最后时刻,系统弹出了一条骚扰短信遮挡了关键位置,脚本硬是没跑过去?
又或者因为手机上的闹铃响起来,让脚本运行意外失败了?
亦或是其他原因

相信很多同学都会想到用代码去处理这些异常,因为我们总不能时时刻刻盯着脚本运行,然后在出现异常时手动处理掉,但是代码可以帮我们实现自动处理异常。

但也有很多同学,因为处理异常复制粘贴了大量代码,用例脚本里面随处可见处理异常的代码。所以今天我们将教大家在不改动原有用例脚本的情况下,利用装饰器优雅地处理异常并实现case重试操作

1.装饰器的定义

装饰器可以在不改动原函数代码的情况下,添加其原本没有的功能。
简单点说,就是修改其它函数的功能的函数。通过使用装饰器,我们可以让一个函数的功能变的更加强大,还可以让我们的代码更加简短整洁。

装饰器的教程这里就不再累赘,有需要可以自学,也可以参考我的另一个博客教程:装饰器函数

例子

举个简单例子

新建了1个装饰器,这个装饰器会尝试运行我们的用例,然后再重跑用例,最终还会打印出重跑结果,效果如下:

可以看到,在没有改变用例函数的情况下,增加了装饰器,使得原函数有了处理异常和重跑的功能

posted @ 2021-06-19 22:08  者諹  阅读(127)  评论(0编辑  收藏  举报