unittest使用assert之后截图一直没运行,assert断言结果是fail之后,该断言语句之后的语句是不会执行的

unittest使用assert之后截图一直没运行,assert断言结果是fail之后,该断言语句之后的语句是不会执行的。
****使用了assert程序没报错误,导致我忽略了这个实际上是错误的。

原来的代码:

para_dst=[("April.first.Sunday.23","January.the second.Monday.0","0"),("December.the last one.Wednesday.21","August.the third.Thursday.11","120")]
@parameterized.expand(para_dst)
def test_032_TimeSetDst(self,StartTime,EndTime,AheadofTime):
    try:
        result=self.action.SetDST(StartTime,EndTime,AheadofTime)
        time.sleep(1)
    except Exception:
        traceback.print_exc()
         self.imgs.append(self.action.dr.get_screenshot_as_base64())
    finally:
        print(result)
        if result==True:
            self.assertTrue(result)
        else:
        		self.assertTrue(result[0], result[1])
                self.imgs.append(self.action.dr.get_screenshot_as_base64())

之前一直不明白为啥最后一句的截图没有截图,脑袋感觉一时没转过来弯。。。。

这里就要说一下assert这个断言模块
实际上断言结果是失败的时候,程序是抛出了错误的,查看执行结果也是:
在这里插入图片描述
其实查看这个就看到assert是触发了错误的,触发的错误名称是AssertionError,此时实际上测试用例的语句已经停止运行了,所以后面的语句是不会执行的。
修改为下面的代码就存在截图了,

,```
para_dst=[("April.first.Sunday.23","January.the second.Monday.0","0"),("December.the last one.Wednesday.21","August.the third.Thursday.11","120")]
@parameterized.expand(para_dst)
def test_032_TimeSetDst(self,StartTime,EndTime,AheadofTime):
    try:
        result=self.action.SetDST(StartTime,EndTime,AheadofTime)
        time.sleep(1)
    except Exception:
        traceback.print_exc()
         self.imgs.append(self.action.dr.get_screenshot_as_base64())
    finally:
        print(result)
        if result==True:
            self.assertTrue(result)
        else:
        		if result[0]==False:
        			self.imgs.append(self.action.dr.get_screenshot_as_base64())
        		self.assertTrue(result[0], result[1])

在这里插入图片描述
后面我又进行了另外一个修改

para_dst=[("April.first.Sunday.23","January.the second.Monday.0","0"),("December.the last one.Wednesday.21","August.the third.Thursday.11","120")]
@parameterized.expand(para_dst)
def test_032_TimeSetDst(self,StartTime,EndTime,AheadofTime):
    try:
        result=self.action.SetDST(StartTime,EndTime,AheadofTime)
        time.sleep(1)
    except Exception:
        traceback.print_exc()
         self.imgs.append(self.action.dr.get_screenshot_as_base64())
    finally:
        print(result)
        if result==True:
            self.assertTrue(result)
        else:
                try:
                    self.assertTrue(result[0], result[1])
                except AssertionError:
                    self.imgs.append(self.action.dr.get_screenshot_as_base64())

运行结果:pass
***所以这个错误不能catch,catch了之后assert那边就变成成功了,这个暂时还不懂,后面再研究他的逻辑,有懂得小伙伴来解释下呀!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值