Pytest 优于其他测试框架的地方:,简单测试可以很简单的编写,复杂测试也可以很简单编写,简单灵活,容易上手支持参数化
能够支持简单的单元测试和复杂的功能测试,还可以用来做 selenium/appnium 等自动化测试、接口自动化测试(Pytest+requests)
Pytest 具有很多第三方插件,并且可以自定义扩展,比较好用的如 Pytest-selenium(集成 selenium)、Pytest-allure-adaptor(生成漂亮的 allure 报告)、Pytest-rerunfailures(失败 case 重复执行)、Pytest-xdist(多 CPU 分发分布式执行)等
测试用例的 skip 和 xfail 处理
可以很好的和 jenkins 集成
测试代码可读性强
易于上手
断言失败仅使用原生关键字 assert,而不是 self.assertEqual(),或者 self.assertLessThan()
Pytest 可以运行 unittest 和 nose 编写的测试用例
不依赖特定的 Python 版本,Python2 和 Python3 都可以使用最新版本
正在快速壮大的社区开发和维护
Robot Framework 框架(简称 rf)
优点
1 可以让不懂编程的测试人员参与到自动化测试中来
2 具有丰富的第三方关键字, 同时也可根据自身业务去开发关键字库, 便于在团队内推广
关键字驱动,自定义用户关键字。
支持测试日志和报告生成。
支持系统关键字开发,可扩展性好。
支持数据库操作。
缺点
测试用例写起来不简洁。
需要掌握特定语法,学习成本高
只支持 Python2,不支持 Python3,容易导致测试团队 Python 版本不统一
界面反应速度慢,经常卡死
导入测试库有时会异常
对于测试团队限制过多,不利于结合具体业务定制功能
问题调试困难
输出的日志结构复杂,多为英文,不容易看懂
维护困难,超过 2000 条用例就是噩梦
接口测试,rf 一般是顺序执行的,但在接口测试中需要并发测试,这种测试需要加入写入的并发关键字
网友评论