zoukankan      html  css  js  c++  java
  • 利用装饰器,自动处理异常并优雅实现重跑case

    前言

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

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

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

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

    1.装饰器的定义

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

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

    例子

    举个简单例子

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

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

  • 相关阅读:
    CentOS 6、CentOS 7系统设置防火墙及使用区别
    HAProxy 使用小记
    oracle快速创建用户、imp/exp导入导出dmp文件
    $@和$*的作用和区别
    根据命令行输出key-value键值对
    mysql备份
    mysql大表归档后清理数据
    redis数据修复记录-1
    redis数据修复记录-2
    调整mysql路径
  • 原文地址:https://www.cnblogs.com/qvchuang/p/14905124.html
Copyright © 2011-2022 走看看