【一】初识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要被执行,需要运行在满足下面两种情况的目录下:

  1. 有.feature file,这个feature files可以试由非技术人员编写
  2. 一个“steps”目录,steps里面包含python step implementation
  3. 目录:features/steps/test.py    features/XX.feature
  4. 稍微复杂点的项目还包括: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文件一一对应。

 

posted @ 2019-12-04 16:51  做一只热爱生活的小透明  阅读(1517)  评论(0)    收藏  举报