五大自动化测试的Python框架( 二 )
Pytest的特点与竞品比较就编写功能性测试用例和开发复杂的框架而言 , Pytest胜过下面将要提到的UnitTest 。 不过 , 它和Robot Framework类似 , 仅适用于开发出简单的测试框架 。
如果您正在考虑使用Pytest , 请进一步参考《使用Pytest和Selenium WebDriver实现测试自动化》 。
3.UnitTest/PyUnit受到了JUnit启发的UnitTest/PyUnit , 也是一种标准化的针对单元测试的Python类自动化测试框架 。 它的基类TestCase提供了各种断言方法、以及所有清理和设置的例程 。 因此 , TestCase子类中的每一种方法都是以“test”作为名词前缀 , 以标识它们能够被作为测试用例所运行 。 用户可以使用load方法和TestSuite类来分组、并加载各种测试 。
当然 , 您也可以通过联合使用 , 来构建自定义的测试运行器 。 正如我们使用Junit去测试Selenium那样 , UnitTest也会用到UnitTest-sml-reporting、并能生成各种XML类型的报告 。
使用先决条件由于UnitTest默认使用了Python , 因此我们并不需要什么先决条件 。 除了需要具备Python框架的基本知识 , 您也可以额外地安装pip、以及用于开发的IDE工具 。
优点
- 开发人员并不需要安装任何其他的模块 。
- UnitTest是xUnit的衍生产品 , 其工作原理与其他xUnit框架十分类似 。 因此对于那些没有过硬Python背景的人来说 , 也能很快地上手 。
- 用户能够以更为简单的方式运行单个测试用例 。 您只需在终端上预定好名称 , 该框架便可灵活地执行各种用例的测试 , 并产生精炼的输出 。
- 它能够在几毫秒内生成各种测试报告 。
由于它过多地支持了抽象方法 , 因此造成了测试代码的目的有时不够清晰 。需要大量的样板代码 。
PyUnit的特点与竞品比较和部分Python开发人员的观点相似 , 我认为:Pytest能够培养测试人员以非常紧凑的方式编写出更好的自动化代码 , 这一编程习惯 。 尽管UnitTest是Python默认的自动化测试框架 , 但是其工作原理、及命名规则仍与标准的Python代码略有不同 。 同时 , 它也需要太多的样板代码 。 因此该框架并不太受欢迎 。
4.Behave我们都知道:行为驱动开发(behavior-driven development , BDD) , 是一种基于敏捷软件开发的方法 。 它能够鼓励开发人员、业务参与者和QA人员 , 三者之间的协作 。 作为另一种Python测试框架 , Behave允许团队避开各种复杂的情况 , 去执行BDD测试 。 从本质上说 , 该框架与SpecFlow和Cucumber非常相似 , 常被用于执行自动化测试 。 用户可以通过简单易读的语言来编写测试用例 , 并能够在其执行期间粘贴到代码之中 。 而且 , 那些被设定的行为规范与步骤 , 也可以被重用到其他的测试方案中 。
推荐阅读
- 极速鲨课堂85:显卡怎么测试 3DMARK详解
- 初探 iOS 自动化工具——快捷指令
- 测试|自动驾驶车辆将在深圳19个公开区域路测
- iPhone折叠屏要来?两种设计通过初步测试
- 曝富士康正为苹果测试折叠iPhone原型机
- 喵博士资讯 | 西安奥体中心建成国内首个5G场馆;苹果被曝已开始在工厂测试折叠屏iPhone
- 可折叠iPhone原型机已在富士康工厂成功经过测试
- 折叠屏iPhone要来了 曝富士康正在测试
- Fedora正在寻求协助 希望加快Linux 5.10 LTS内核测试进度
- 从i7-1185G7测试 谈十一代酷睿性能提升之根本