背景知识:
1. Behave 安装后的location:...\Python33\Lib\site-packages\behave-1.2.3-py3.3.egg
2. Senelium安装后的location:...\Python33\Lib\site-packages\selenium
3. Behave安装后的可执行文件在:...\Python33\Scripts
通过以上,你可以看见笔者装的Python是3.3而Behave是1.2.3的版本。
第一个例子:
1.请注意例子的文件夹结构。我们在...\Python33\Script里创建一个文件夹名字为:Features,并在Features文件夹里分别创建Features,Steps 两个文件夹。如下:
D:\Python33\Scripts>tree features
D:\PYTHON33\SCRIPTS\FEATURES
├─features
└─steps
2. 在...\Python33\Scripts\Features\Features,创建文件t.feature(注意文件名必须为.feature),文件内容如下:
Feature: goto
Scenario: goto
Given aaa
3. 在...\Python33\Scripts\Features\Steps,创建文件step.py,文件内容如下:
from behave import * @Given('aaa') def test(context): from selenium import webdriver browser = webdriver.Firefox() browser.get('http://seleniumhq.org/')
4.Run 咱们的第一个case,你只要执行behave就可以,behave会在它的同级路径下去找Features文件夹里的*.feature文件运行。
具体运行流程为: behave->*.feature->Feature:goto(Feature名字叫goto,什么也不做继续往下走)->Scenario:go to((Feature名字叫goto,什么也不做继续往下走)->
Given aaa(这是第一个要执行的步骤)->step.py->找到aaa对应的函数test执行(test函数调用了selenium去打开Firefox浏览器,访问http://seleniumhq.org/)。理解了吗?如果有不清楚的可以站短。这里要简单说下,你可以在.feature文件里写任意自然语言就像Given aaa里的aaa,这样用自然语言描述了测试用例,又完成了自动化操作。确实很不错。