接口自动化<006>:Python 装饰器 @retry

一、装饰器定义:

  修改其他函数的功能的函数。有助于让我们的代码更简短,也更Pythonic(Python范儿)

二、@retry使用场景:

  接口自动化中,requests请求网页的时候出现请求失败或错误,部分操作出现各种判断状态和超时等,此时需要多次重试请求,这种情况下,可以使用下retrying包下的retry装饰器达到目的

三、@retry使用前提:

  安装retrying,可以使用pip进行安装:pip install retrying

  导入:from retrying import retry

四、@retry()装饰器重要参数介绍:

  stop_max_attempt_number:在停止之前尝试的最大次数,最后一次如果还是有异常则会抛出异常,停止运行,默认为5次

  wait_random_min:在两次调用方法停留时长,停留最短时间,默认为0,单位毫秒

  wait_random_max:在两次调用方法停留时长,停留最长时间,默认为1000毫秒

  retry_on_result:指定一个函数,如果指定的函数返回True,则重试,否则抛出异常退出

  retry_on_exception: 指定一个函数,如果此函数返回指定异常,则会重试,如果不是指定的异常则会退出

  所有参数信息,如下图:

 

五、实例:

  

原文地址:https://www.cnblogs.com/danmai/p/14412399.html