【一】初识behave
介绍
behave是BDD(behave-Driven Development行为驱动开发)框架,是python的cucumber克隆,BDD可以让项目成员(甚至是不懂编程的)使用自然语言来描述系统功能和场景,从而根据这些描述步骤进行系统自动化的测试。下面会一步一步带你如何使用behave编写测试的教程和示例,对初学者有一定的帮助。
是敏捷软件开发技术的一种,鼓励各方人员在一个软件项目里交流合作,包括开发人员、测试人员和非技术人员或业务参与者。
1.阅读文档
下面就来开始了解behave是如何工作的。
2.假如,当,那么
Given,When,Then
Feature:功能(描述事件)
As a [role] 作为某个角色
I want [feature] 我想要干嘛
So that [benifit] 所以如何
Scenario:标题1(用于场景1)
Scenario Outline(场景大纲)
Given :假如
And:还有
When:当
Then:那么(预计结果)
And:还有(另一个结果)
例子:账号数据
| account | pwd |
| test1 | 123 |
| test2 | abc |
Scenario:标题2(用于场景2)
.....
3.选择断言匹配器库
选择断言匹配库,在开始使用behave(或其他DBB框架)之前,应该选择在项目中使用的断言匹配器库。
断言匹配器库:hamcrest,现在是JUnit4的一部分
ps.其他知识点补充:
1)基本概念
behave要被执行,需要运行在满足下面两种情况的目录下:
- 有.feature file,这个feature files可以试由非技术人员编写
- 一个“steps”目录,steps里面包含python step implementation
- 目录:features/steps/test.py features/XX.feature
- 稍微复杂点的项目还包括:features/enviroment.py
如图
2)feature files?
feature file是指一个通常命名为 **.feature的纯文本文件(UTF-8)。这个文件里面包含了用自然语言(Gherkin)描述的系统的功能特征。这些功能特征是具有代表性的期望结果。
使用Gherkin来描述,具有以下特点:
- 结构是 feature下面有多个scenarios,scenarios下面是 Given When Then的表述方法
- feature:功能名称
- scenarios:场景名称
- behave会采用 Given When Then的步骤描述来map到测试代码中对应的相同步骤描述。Given When Then是真实的执行步骤
- Given: 测试执行的前提条件和所要求的系统状态
- When:相当于测试步骤
- Then: 待观察的结果或是期望结果
- 除了Given When Then,我们还可以使用And或是But来做为步骤从而进行步骤描述的扩展。
- .feature文件是用于编写测试场,你可以把各种场景和数据写在里面,支持中文;
- .py文件就是根据你写的测试场景和数据来执行测试。
- 最好.feature文件与.py文件一一对应。

浙公网安备 33010602011771号