【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

一、大家熟知的自动化测试框架

Java

JUnit、TestNG等等。

python

PyUnit(unittest)、Pytest、Robot Framework等等

二、Pytest介绍

  • pytest 是非常成熟全功能的Python测试框架。
  • 它可以胜任unittest能做到的各种各样场景,比如:单元测试、web测试、app测试、接口测试等等。
  • pytest是个插件化的平台,它比unittest更强大也在于此。目前已经有大量第三方插件扩展和增强它的功能
  • 你可以根据自己需求,定制化开发出自己的插件
  • 可以很好的和CI工具进行结合

三、Pytest优点

  • 简单灵活,容易上手
  • 支持参数化
  • 能够支持简单的单元测试和以及一些复杂的功能测试,也可以用来做web、app、接口(Selenium/Appnium/Requests)等自动化测试
  • pytest有很多第三方插件,并且可以进行自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-rerunfailures(失败case重复执行)、pytest-html(完美html测试报告生成)、pytest-xdist(多CPU分发)等
  • 测试用例的skip和xfail处理
  • 可以很好的和Jenkins集成
  • report框架----allure 也支持了pytest
  • 断言方式简单便捷

四、pytest与unittest区别

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

五、Pytest功能介绍

1.Fixture:

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

2.mark:

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

3.assert断言:

assert xx---判断xx为真

assert not xx ---判断xx不为真

assert a in b---判断b包含a

assert a == b---判断a等于b

assert a !=b ---判断a不等于b

等等

4.其他功能:

pytest.xfail()

pytest.exit()

pytest.skip()

pytest.skipif()

六、Pytest架构运行流程

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

七、应用场景

接口自动化

web自动化

UI自动化

等等

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

八、Pytest使用

1.自动化用例编写

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

2.执行脚本:

1. 命令行中执行用例:

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

2.IDE中执行用例:

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?-LMLPHP

更多功能使用请查看pytest官网:

https://docs.pytest.org/en/latest/contents.html

自动化测试框架实战

接口自动化测试框架:

python+request+pytest+allure:https://www.cnblogs.com/upstudy/p/15921045.html

02-22 12:15