上篇讲了下基础的 pytest 使用,这篇讲解下常用的一些库和一些配置文件。
用 pytest,那第一个要装的当然就是 pytest 啦,直接 pip install pytest,装完就可以 import 这个库了。大家在用 unittest 的时候,如果想用 selenium,那当然是要 pip install selenium 来进行安装和使用,但是在 pytest 里,有个更好用的库,那就是 pytest-selenium。这个库基于 selenium 实现了封装,提供了更友好的功能,更方便代码的使用,也是很好用的一个库,直接使用 pip install pytest-selenium 安装。
运行完批量的 case 之后大家关心的当然就是能不能生成测试报告啦。unittest 中生成报告很多人都是找的 py 文件放到文件下方生成报告,pytest 中有更方便的生成报告的方法。如果要生成 html 格式的报告,直接可以使用 pytest-html 这个库,这个库可以在 pytest 运行完成之后生成一个 html 的报告文件,报告标记了 skip、fail、success 等用例,统计了用例成功数、失败数、跳过数等等。如果用例失败了,还能帮你定位到失败的那一行代码的位置,是个很方便的东西。如下图所示:
当然 pytest 还可以生成 xml 等等其他格式的报告文件,在此不多讲,主要还是 html 更常用。
另外也可以和 allure 相结合,这个在这篇文章中先不讲解,下次有空讲解下。
有些人用例失败了想要重跑怎么办呢?pytest-rerunfailures 帮你很好的解决了这个问题,可以自定义重跑的次数,如下图所示,直接定义在 setup.cfg 当中
当然,还有一个并行运行的功能也是很常用的。很多时候一次只运行一个 case 的话,跑几百个 case 那要花费的时候也是可想而知的,因此并行运行就显得非常有用了。pytest-xdist 这个库就提供了并行运行的功能,他是以多进程的形式实现的,最大数基于你的 cpu 最大核数,cpu8 核,最多一次性能跑 8 个脚本,非常非常好用的一个东西。安装也是直接 pip install pytest-xdist。安装完后,在 setup.cfg 中配置一个-n 2,就是说明一次启动 2 个进程跑 2 个脚本的意思。
好了,今天就讲那么多,改天抽空讲讲 pytest 其他的一些装饰器之类的使用。