zoukankan      html  css  js  c++  java
  • pytest:多线程并行和分布式执行;结合pytest-html生成测试报告

    一、假如项目中有测试用例1000条,一条测试用例执行需要一分钟,一个测试人员需要1000分钟才能完成一轮的回归测试。通常我们会用人力成本去换时间成本,加几个人一起执行,时间就会缩短,如果十个人一起执行只需要100分钟,这就是一种并行测试,分布式的场景。pytest-xdist是pytest分布式执行插件,可以多个CPU或主机执行,这款插件允许用户将测试并发执行(进程级并发),插件是动态动态决定测试用例执行顺序的,为了保证各个测试能在各个独立的线程 里正确的执行,应该保证测试用例的独立性(这也符合测试用例设计的最佳实践)。
    安装

    pip  install  pytest-xdist

    多个CPU并行执行用例,需要在pytest后面添加  -n  参数,如果参数为auto,会自动检测系统的CPU数目.如果参数为数字,则指定运行测试的处理器进程

    pytest  -n  auto

    pytest  -n [num]

    实例:

    某个项目有200条测试用例,每条测试用例之间没有关联关系,互不影响,这200条测试用例需要在1小时之内完成,可以加个 -n  参数,使用多CPU并行测试

    运行方法:

    pytest  -n  4

    进入到项目目录下,执行pytest可以将项目目录下所有测试用例识别出来并且运行,加上  -n  参数,可以指定4个CPU并发执行,大量的测试用例并发执行提速非常明显

    二、测试报告通常在项目中尤为重要,报告可以体现测试人员的工作量,开发人员可以从测试报告中了解缺陷情况,因此测试报告在测试过程中的地位至关重要,测试报告为纠正软件存在的质量问题提供依据,为软件验收和交互打下基础,测试报告根据内容的侧重点可以分为版本测试报告和总结测试报告。执行完pytest测试用例,可以用pytest-html插件生成HTML格式的测试报告

    安装:

    pip  install  pytest-html

    执行方法:

    pytest  --html=path/to/html/report.html

    结合pytest-xidist使用

    pytest  -v  -s  -n  3  --html=report.html  --self-contained-html

  • 相关阅读:
    分析支付宝首页
    夺命雷公狗—angularjs—17—angularjs的静态库
    夺命雷公狗—angularjs—16—angularjs里面的缓存
    夺命雷公狗—angularjs—15—内置封装好的计时器$interval和$timeout
    夺命雷公狗—angularjs—14—$location的作用
    2016-08-20--回忆了下当年的夺命雷公狗(一)
    angularjs---$http.post发的数据,后台取不到
    夺命雷公狗—angularjs—13—post参数的接收发送
    夺命雷公狗—angularjs—12—get参数的接收
    夺命雷公狗—angularjs—11—service的基本概念
  • 原文地址:https://www.cnblogs.com/vigo01/p/14339178.html
Copyright © 2011-2022 走看看