自动化测试之BDD
Posted on 周日 26 二月 2017 in [自动化测试] • Tagged with [BDD] • Leave a comment
很久没更博了,不记录点什么会觉得脑子空空的。
前些天在重构接口测试框架的时候,突发奇想的一个念头:就是要采用BDD方式来用作接口测试的数据驱动。于是花了一天时间简单学习了一下python的BDD框架-behave,并做了一个小实践。过程与结果,还算很满意。写此文章,向这些开源工具的贡献者们致敬!
什么是BDD
BDD全称Behavior Driven Development,译作 行为驱动开发,是基于TDD (Test Driven Development 测试驱动开发)的软件开发过程和方法。
BDD可以让项目成员(甚至是不懂编程的)使用自然语言来描述系统功能和场景,从而根据这些描述步骤进行系统自动化的测试。
常用BDD框架
目前常用的BDD框架有:ruby的cucumber,python的behave、lettuce等。
所实践项目 使用python开发自动化测试代码,故选用behave框架。总结从环境搭建 到运用 以及最后的测试报告集成到Jenkins上展示。
Behave使用介绍
1、安装
pip install behave ---首次安装
pip install -U behave ---更新
2、运行第一个测试
测试的功能场景——测试网站的登录功能:
账号密码输入正确--登录成功;
账号密码输入错误--登录失败。
建立框架结构
$PROJECT/
+-- features/ -- Contains all feature files.
| +-- steps/
| | +-- login.py -- Step definitions for features.
| +-- reports/ -- Save test reports
| | +-- jsonDumps/ -- Save behave json reports
| | +-- jsonReports/ -- Save behave to cucumber json reports
| +-- environment.py -- Environment for global setup...
| +-- login.feature -- Feature files.
Behave 框架说明:
- features/.feature文件用于编写测试场景,可以把各种场景和数据写在里面,支持中文;
- steps/.py文件就是根据所写的测试场景和数据来执行测试;
- features/.feature文件与steps/.py文件必须一一对应。
- features/.environment.py 用作测试环境统一配置。
environment.py 部分方法说明
-
before_step(context, step), after_step(context, step)
These run before and after every step. -
before_scenario(context, scenario), after_scenario(context, scenario)
These run before and after each scenario is run. -
before_feature(context, feature), after_feature(context, feature)
These run …