测试框架能为我们解决什么问题?
在整个测试的过程当中,通常流程化的东西包括编写测试计划、编写测试用例、执行测试用例、提交Bug、编写测试报告,还有沟通和开会等。作为测试人员,平时做的最多的工作是什么?
执行测试和提交Bug这个过程是重复出现的。那么我们可以把整个执行的过程封装成一个框架,每次我们只需把测试用例提交,之后让它帮助我们进行一些用例的执行及管理。提交Bug这个活动也是重复的,在提交报告的过程中,我们需要一些运行结果的依据,最好能够生成一个非常漂亮的报告供我们参考,那么这部分需要有相应的框架来帮助我们实现。总结来讲,所有的重复工作,我们都可用框架的方式实现,所以需要自己亲自设计和编写脚本代码。执行测试及提交精美测试报告这些任务可以由pytest和它的插件帮助我们完成。
框架分类:
进行测试执行操作:Selenium、Appium、Requests;
·测试用例管理及执行:pytest、Unittest、Nose;·
测试报告:Allure;
·数据驱动:DDT;·
环境部署及持续集成:Docker、Jenkins
选择学习目标:Selenium+pytest+Allure+(Jenkins)
原因:
·pytest是免费,开源yyds;
·pytest有活跃的社区支持;·
pytest的语法简单灵活,容易上手;
·支持参数化,也就是支持数据驱动;
·支持测试用例的skip和xfail处理;·(书上这么说)
.pytest可以自动检测测试文件和测试功能;
·pytest允许我们运行整个测试套件的一部分;·
能够支持简单的单元测试和复杂的功能测试;
·可以很好地和Jenkins集成;
·pytest具有很多第三方插件,并且可以自定义扩展;·
pytest-allure可以生成完美的HTML测试报告;(惊艳,虽然有点花里胡哨的感觉)
·pytest可以并行运行多个测试,从而减少测试套件的执行时间pytest-xdist;(不是很明白)
·与以前的测试框架兼容,可执行由Unittest、Nose所写的测试脚本。
帮助链接:
https://docs.pytest.org/en/latest/
https://pypi.org/project/pytest/
https://github.com/pytest-dev/pytest/