自动化测试之pytest(一)

pytest 其实是一个单元测试框架
 
解释: 在软件开发过程中,针对最小的单位(函数,方法)进行正确性的检查测试
 
比如 java: junit 或者 testng
       python: unittest 或者 pytest
 
举例:1.测试发现(从某个文件或多个文件中找到需要执行的测试用例)
          2.测试执行(安装一定的顺序和规则去执行,生成结果)
          3.测试断言(通过断言判断预期结果和实际结果的差异)
          4.测试报告(统计测试进度,耗时,通过率,以及测试过程详情,生成测试报告)
 
 
 
单元测试框架和自动化测试框架有什么关系
什么是自动化测试框架
解释: 自动化框架就是封装一些自动化所使用的基础模块,测试中使用到的第三方工具模块,以及设计测试用例书写的项目架构模块(设计模式),最后使用单元测试框架进行产出
 
自动化测试框架的作用
1.提高测试效率,降低维护成本
2.减少人工干预,提高测试准确性,增加代码的重用性
3.核心思想是让不懂代码的人也能够通过这个框架去实现自动化测试
            
 
 
 
 
pytest功能
1.pytest+selenium  或 requests 或 appium
2.pytest可以实现测试用例的跳过以及reruns失败用例重试
3.pytest可以和allure生成非常美观的测试报告
4.pytest可以和jenkins持续集成
5.pytest有很多非常强大的插件,在自动化过程中能实现很多实用的操作
        pytest
        pytest-html(生成html格式的自动化报告)
        pytest-xdist (测试用例分布式执行,多cpu分发)
        pytest-ordering (改变测试用例的执行顺序)
        pytest-rerunfailures (用于用例失败后的重跑)
        allure-pytest(用于生成美观的测试报告)
 
 
 
安装:创建一个文件,将需要的安装包全部写在文件内。使用pip install -r 文件名
 
 
 
 
 
 
 
 
使用pytest,默认的测试用例的规则以及基础使用
1.模块名必须以test_开头 或者 _test结尾
2.测试类必须以Test开头,并且不能有init方法
3.测试用例必须以test开头
 
 
 
 
使用pytest的运行方式
1.主函数模式运行
     运行所有: pytest.main()
      指定模块:
 
 
 
3.可以指定目录执行 pytest.main(['vs', ' 模块名 '])
 
2.命令行模式运行
     运行所有:E:\pyt_obj>pytest
 
     参数详解:  输出调试信息,包括print打印出来的信息 
                      输出详细的信息,包括类名等
                     -n:  支持多线程或者分布式运行 
                     --reruns NUM 失败用例重跑,只要有失败会多跑NUM次
                        失败重跑实例:
                        
 
 
                    --maxfail =2 出现两个用例失败就停止
                    -k : 根据测试用例的部分字符串去指定用例 pytest -vs 目录 -k "模糊匹配"
 
 
 
 
解释:主函数模式运行
 
解释:命令行模式运行
 
 
 
 
 
3.通过读取pytest.ini配置文件运行。
pytest的执行测试用顺序:
 
 
unittest: ascll的大小来决定的执行顺序
pytest: 默认从上到下。
如果不想按顺序执行:order = 1 第一个执行  通过mark标记 则改变默认执行顺序
        
 
 
 
 
 
如何分组执行 (冒烟等)
 
smoke:冒烟测试用例,分布在各个模块中,可以分模块分组等。使用mark
 
 
第一步:给不同组别的测试用例增加mark.指定名称
第二步:给pytest.ini中增加markers=指定名称:备注
 
第三步 -m "指定名称"
 
番外:如果想执行多组,可以用 or 增加不同模块的用例执行
 
 
 
 
 
 
 
 
  • 6
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值