Python测试框架
Python什么是框架
框架(Framework)是整个或部分系统的可重用设计框架是用来解决代码的组织以及运行控制问题的。在我们编写自动化脚本的时候,经常尧都区配置文件,读取数据文件,发送请求,记录日志,连接并对比数据库数据。每个脚本里都重写一遍各种方法不仅工作量大而且容易错。所以我们需要把公共的方法提取出来,封装成单独的模块,放到公用犯法包里。另外配置文件,数据文件,日志等我们也需要分类存到不同的文件夹下。这种对公共方法的封装及对对脚本及哦诶之文件怎么组织的设计就叫做框架。同时一般框架除了完成对代码及配置文件的组织之外还要提供运行的控制功能。比如批量执行,分模块执行,生成报告,异常处理等等。
总结为以下三点:
封装公共方法代码及配置文件的组织执行控制
什么是测试框架
一个完整的测试脚本(用例)一般包括以下几个步骤:
环境准备或检查执行业务操作断言结果清理环境而测试框架一般还要完成用力加载,批量执行,一场控制,结果输出等功能。基础的测试框架一般只提供执行控制方面的功能、
测试框架应具有的特点
易用性:编写用例,执行用例,生成报告及定位问题方便健壮性:稳定,比如timeout机制等扩展性:插件灵活性:用例组织或执行的灵活性,Fixture功能(不同范围的setUp和tearDOwn)等定制性:二次开发方便
unittest,pytest,nose,robot,framework简介
unittest:python自带,最基础的单元测试框架nose:基于unittest开发,易用性好,有许多插件pytest:同样基于unittest开发,易用性好,信息更详细,插件众多robotframework:一款局域python语言的关键字驱动测试框架,有界面,功能完善,自带报告及log清晰美观
总结:总体来说,unittest比较基础,二次开发方便,适合高手使用;pytest/nose更加方便快捷,效率更高,适合小白(没错是我)及追求效率的公司;robotframework由于有界面及美观的报告,易用性更好,灵活性及可定制性略差。