前言
同学们在运行自动化脚本时是否遇到过这些场景?
case因为网络波动而跑失败了?
在最后时刻,系统弹出了一条骚扰短信遮挡了关键位置,脚本硬是没跑过去?
又或者因为手机上的闹铃响起来,让脚本运行意外失败了?
亦或是其他原因
相信很多同学都会想到用代码去处理这些异常,因为我们总不能时时刻刻盯着脚本运行,然后在出现异常时手动处理掉,但是代码可以帮我们实现自动处理异常。
但也有很多同学,因为处理异常复制粘贴了大量代码,用例脚本里面随处可见处理异常的代码。所以今天我们将教大家在不改动原有用例脚本的情况下,利用装饰器优雅地处理异常并实现case重试操作
1.装饰器的定义
装饰器可以在不改动原函数代码的情况下,添加其原本没有的功能。
简单点说,就是修改其它函数的功能的函数。通过使用装饰器,我们可以让一个函数的功能变的更加强大,还可以让我们的代码更加简短整洁。
装饰器的教程这里就不再累赘,有需要可以自学,也可以参考我的另一个博客教程:装饰器函数
例子
举个简单例子
新建了1个装饰器,这个装饰器会尝试运行我们的用例,然后再重跑用例,最终还会打印出重跑结果,效果如下:
可以看到,在没有改变用例函数的情况下,增加了装饰器,使得原函数有了处理异常和重跑的功能