首页 > 其他分享 >PlayWright(十六)- Pytest断言

PlayWright(十六)- Pytest断言

时间:2023-07-14 14:34:34浏览次数:33  
标签:PlayWright 断言 我们 assert Pytest test hello def

我们在写自动化测试的时候,得到测试结果之后,现在要开始拿实际结果与期望结果做对比了   那如果是测试1个结果,我们可以用肉眼比对,如果是百十来个用例结果,我们肉眼就看不过来了,所以我们需要断言,而在Pytest中也有断言,而且Pytest的断言使用的是Python自带的,所以使用起来很方便   使用的断言关键字是assert,当然assert直译就是断言,所以很清晰   那我们怎么使用他呢?

语法:assert 表达式
下边有几个常用的断言
判断是否为真 assert xx
判断不为真 assert not xx
判断a是否包含b assert a in b
判断a不包含b assert a not in b
判断两值相等 assert a == b
判断两值不相等 assert a != b
好了,又到了我们的实战环节了  

1、判断是否为真或为假,我们直接使用True 和 False

 

1 def test_01():
2     assert True
3 def test_02():
4     assert not False

 

  

我们看一下结果

2、判断是否包含或是否不包含,我们直接使用in 和 not in

 

# hello 在 hello world里就断言成功,否则断言失败
def test_01():
    assert "hello" in "hello world"

# hi不在hello world 里就断言成功,否则断言失败
def test_02():
    assert "hi" not in "hello world"

 

可以运行看下结果  

3、判断是否相等或不相等,我们直接使用==和 !=

1 def test_01():
2     assert 2 == 1 + 1    # 后边的1+1是我们的预期结果,2是实际结果,两者如果相等代表断言成功,否则断言失败
3 
4 def test_02():
5     assert 3 != 1 + 1     # 后边的1+1就是我们的预期结果,3是实际结果,两者如果不相等代表断言成功,否则断言失败

 

上边我们都会断言成功,那断言失败的场景是什么呢?   我们来看下,把上边断言2的改成这个assert 3 == 1 + 1,我们再来查看结果 从上边可以看到我们预期是2,实际是3,所以断言失败,提示断言错误   断言相等我们一般使用的比较多,在接口自动化中,我们可断言接口返回的成功状态码,在ui自动化中我们可以断言登录成功后的个人信息,或者成功后的提示   总之,上述几种可以结合业务灵活使用,当然断言还有其他的玩法,等我们实际用的时候再做讲解

标签:PlayWright,断言,我们,assert,Pytest,test,hello,def
From: https://www.cnblogs.com/nuomituan/p/17553619.html

相关文章

  • pytest生成测试报告无数据
    1、排除用pytest生成的数据是没有问题的可以通过pytest--alluredir=report检查2、了解使用的语句:alluregeneratereport(用report文件夹中的数据,生成allure打开的图形界面的)我操作的失误在第二点,直接进入到report文件夹执行。导致生成的项目的时候,数据没有被读取。解决方案:......
  • PlayWright(十五)- 配置文件
    上文中我们学习了前置后置,今天我们来学下配置文件,配置文件是什么呢? 1、配置文件是什么先来讲下背景:我们之前执行代码的时候是用命令行pytest-s-v,如果是一个项目的话,我们不会每次执行代码都输入-s-v,所以pytest提供了一个功能-配置文件pytest.ini pytest.ini这个就是......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-6-元素定位大法-下篇
    1.简介上一篇主要是讲解我们日常工作中在使用Playwright进行元素定位的一些比较常用的定位方法的理论基础知识以及在什么情况下推荐使用。今天这一篇讲解和分享一下,在日常中很少用到或者很少见的定位,但是遇到了我们也要会,俗话说:手里有粮心里不慌。2.阴影定位-ShadowDOM在做web......
  • 自定义参数类型断言装饰器
    代码frominspectimportsignaturefromfunctoolsimportwrapsdeftypeassert(*ty_args,**ty_kwargs):defdecorate(func):ifnot__debug__:returnfuncsig=signature(func)#获取函数签名bound_types=sig.bind_parti......
  • Pytest测试框架
    一.pytest简介  测试框架:用来组织测试用例并进行运行控制的  使用测试框架可以做到以下几点:  挑选用例并批量执行  单条用例失败后不影响其他用例执行  不同范围的测试准备和环境清理方法  一套断言机制 运行完生成测试报告 常用测试框架:unitest......
  • pytest + yaml 框架 -49.allure报告自定义内容
    前言v1.4.0版本支持allure报告自定义内容用例添加allure描述用例中可以通过dynamic添加以下内容allure.dynamic.featureallure.dynamic.linkallure.dynamic.issueallure.dynamic.testcaseallure.dynamic.storyallure.dynamic.titleallure.dynamic.description在t......
  • pytest7.4版本的一个变更,可能会影响你的项目
    pytest7.4版本的一个变更,可能会影响你的项目本文撰写于2023.7.10准备工作项目结构如下D:\Gitee\DemoRepo(17.97MB)+--testCases(1.03KB)|+--conftest.py(252b)|+--pmCases(574b)||+--conftest.py(259b)||`--test_logout.py(315b)......
  • pytest + yaml 框架 -48.仅收集用例失败错误信息和log日志
    前言有小伙伴提到能不能只收集用例失败的情况下日志和错误信息,每个用例都收集日志内容太多了,没法直观的看错误的用例信息。v1.3.9版本实现此功能,在原有的功能上新增一个log日志文件,仅收集用例错误的日志。log日志收集用例执行完会默认生成2个日志文件全量日志,每个用例的日......
  • pytest + yaml 框架 -47.parameters参数化支持笛卡尔积
    前言v1.3.8版本对parameters参数化格式重新做了定义,支持笛卡尔积了。当然以前旧版本的格式还是继续兼容。parameters参数化新版本对parameters参数化重新做了定义,简化了步骤,更加清晰简洁.1.只有一个变量需要参数化的情况test_p1.ymlconfig:parameters:x:["a"......
  • docker中使用playwright
    一.拉取镜像文档链接:https://playwright.dev/python/docs/docker#usagedockerpullmcr.microsoft.com/playwright/python:v1.35.0-jammy二.启动容器   这边要注意限制容器日志的大小,要不然很容易把磁盘装满了,可参考:https://blog.csdn.net/weixin_44368081/article......