其他分享
首页 > 其他分享> > 利用装饰器,自动处理异常并优雅实现重跑case

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

作者:互联网

前言

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

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

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

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

1.装饰器的定义

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

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

例子

举个简单例子,你正在跑一个自动化测试脚本,突然间设备的闹钟响了,而刚好闹钟的界面遮挡住了你要操作的那个按钮,最终导致脚本运行失败了。
没办法,你只能关掉闹钟再重新运行一次脚本。
在这个测试场景中,我们如何应用装饰器帮助我们解决闹钟异常,然后重跑我们的测试用例呢?

新建了1个装饰器,这个装饰器会尝试运行我们的用例,如果遇到闹钟遮挡,则会自动处理掉这个闹钟,然后再重跑用例,最终还会打印出重跑结果,效果如下:

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

标签:case,脚本,处理,优雅,用例,重跑,闹钟,异常,装饰
来源: https://www.cnblogs.com/qvchuang/p/14905124.html