首页 > 其他分享 >unittest失败重跑-retry

unittest失败重跑-retry

时间:2024-01-31 11:49:17浏览次数:16  
标签:Exception retry unittest value 重跑 template import

点击查看代码
# coding:utf-8
import unittest
import time
from datatest import readdata
from ddt import ddt,data,unpack
from src.basePage.setlog import log
from src.pages.template_page import templateloc
from src.basePage.login import Login
from retry import retry  # 导入retry装饰器,使得unittest框架中的测试用例可以重跑

@ddt #ddt数据驱动
class Test_template(unittest.TestCase):
    @retry(Exception, delay=1, tries=2)  # 在遇到 Exception 异常时延迟1s且进行最多2次重试
    @data(*readdata.template_value)
    @unpack
    def test_template_detail(self, value):
        try:
            result = self.__class__.ele.template(value)
            self.assertEqual(value, result)
        except Exception as err:
            log().error(u'无法打开'+value+'模板') #报错时的日志
            self.ele.fail_img_screenshot(u'无法打开'+value+'模板') #报错时的截图
            self.driver.refresh()
            raise  #日志与图截完后需要重新将异常抛出,不然最后所有用例都是成功的

if __name__ == "__main__":
    unittest.main()

重跑的装饰器@retry(Exception, delay=1, tries=2) # 在遇到 Exception 异常时,延迟1s,进行最多2次重试,测试用例中不能直接将异常接受了,不然无法触发重跑的机制

标签:Exception,retry,unittest,value,重跑,template,import
From: https://www.cnblogs.com/striver-dl/p/17998866

相关文章

  • 记一次Spring retry的使用
    问题背景调用三方平台接口偶尔会访问不到,导致了逻辑错误具体描述由于工作职责重新划分,我新接手维护了一个项目,这个项目已经开发完成,项目中需要和第三方平台进行对接,主要是我方向对方推送数据但是刚接手没几天,实施同事就反馈过来一个问题,我们推送过去的数据在对方那边显示......
  • unittest,assert断言失败,用例结果返回的是成功原因,及解决方式
    在使用unittest做接口测试时,会发现assert断言失败了,但是测试报告的结果是成功的,这种情况是什么原因呢?原来是因为在写测试用例的时候,为了测试用例失败以后下面的用例可以继续执行而不受到影响,就使用了try...except...进行处理,当断言失败时,报错信息由except处理。所以,在测试结果及......
  • HttpRetryException: cannot retry due to redirection, in streaming mode
     failcannotretryduetoredirection,instreamingmodeexecutingPOSThttps://vsp.allinpay.com/apiweb/gateway/payfeign.RetryableException:cannotretryduetoredirection,instreamingmodeexecutingPOSThttps://vsp.allinpay.com/apiweb/gateway/pay......
  • 46重试装饰器retry
     fromretryingimportretryr'''安装:pipinstallretryingVersion:1.3.4作用:retrying库是Python中用于实现重试机制的库,它们的目的都是在遇到错误或异常时自动重试代码块,以增加代码的健壮性和可靠性.下面的案例抽几个常用参数说明retry装饰器,当然也可以自己编写代码......
  • 浅谈spring-retry
    使用方法@ComponentpublicclassRetryableXX{ //使用重试框架须知: //该注解无事务性!!!! //该注解是同步操作,重试次数与时间间隔需要慎重考虑!!!! //使用重试注解时,务必匹配@Recover回调方法,否则重试次数会平方!!!! //被调用的重试方法必须是被代理过的,否则重试效果不生效!!!! //匹......
  • ERROR tls.obtain will retry {"error": "[ttshhb.org] Obtain: [ttshhb.
    这个错误提示表明Caddy在尝试自动获取TLS证书(通常通过Let'sEncrypt)时遇到了问题,具体是域名ttshhb.org的授权验证失败,并返回了HTTP0状态码。HTTP0状态码通常是网络连接问题或服务器端未响应的情况。在Let'sEncrypt的ACME协议中,获取证书需要进行DNS验证或HTTP/HTTPS验证,如果在执......
  • spring-retry 重试机制
    引用pom.xml<dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId><version>1.3.4</version></dependency>注:本人测试使用jdk8例子:publicvoiddemo(Stringstr)......
  • python中的unittest框架实例详解
    在python中我们学习了不少理论知识,那么对相关的程序进行测试,就显得很重要了。本篇要讲的是unittest框架,我们可以用它来做一些测试工作,又或者是相关代码的编写。下面我们就unittest框架的说明、特性和4种字模块分别带来介绍,大家一起来看具体内容。1.unittest说明unittest是Python自......
  • python测试框架unittest和pytest区别
    一、用例编写规则(1)unittest提供了testcases、testsuites、testfixtures、testrunner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:测试文件必须先importunittest测试类必须继承unittest.TestCase测试方法必须以“test_”开头测试类必须要有un......
  • linux -bash: fork: retry: No child processes 解决
    Text.Text.Text.Text.[ubuntu@iZj6cc8f0831kkdffvlhjhZtools]$date-bash:fork:retry:Nochildprocesses-bash:fork:retry:Nochildprocesses-bash:fork:retry:NochildprocessesFriDec2209:56:49CST2023corefilesize(blocks,-c)......