Behave 介紹:
最近一個項目用了behave來做測試,因為之前沒有接觸過,所以寫下最近的心得總結。 做自動化的人估計對selenium已經不是很陌生了,但是對於Behave工具,估計很少有人聽說過。Behave是BDD(Behavior drive development - 行為驅動開發)的框架。這個框架用來做敏捷開發比較多。QA,開發人員,客戶和產品經理都可以加入Behave中來。其中behave包括的feature部分,一般來說是客戶或者不懂代碼的人來寫,然后QA根據客戶的行為來編寫測試代碼。
Behave既可以用來測試網頁的功能,也可以用來單元測試測試開發者的代碼。
准備工作:
1. 下載python,然后在環境變量里面,把c:\Python2.7加到path里面去 --------- 具體參見 http://weixiaolu.iteye.com/blog/1617440
2. 下載pip 工具(在python里面基本上下載工具都用pip)
3. 打開cmd窗口,使用 pip install behave命令安裝behave ------ behave的官方網站: http://pythonhosted.org/behave/
4. 使用pip install selenium命令安裝selenium
5. 使用pip install pyhamcrest命令安裝hamcrest. 為什么安裝hamcrest呢? 我們熟悉在測試里面都要用的assert語句,然而hamcrest API就是可以用來對actual value和expected value進行判斷的。
好了基本上准備工作完成,然后我們開始第一個簡單的自動化腳本。
一、首先新建一個文件夾命名為feature,在這個文件里面再新建example01文件夾,在example01文件里面新建example01.feature文件
#../feature/example01/example01.feature Feature:Show off behave Scenario: Show off behave Given behave install When I pass 5 to number variables Then parameter number must be bigger than 4
二、在example01文件夾里面新建steps文件夾,然后在steps文件夾里面新建example01.py文件
#../feature/example01/steps/example01.py
@Given('behave install')
def step_impl(context):
pass
@when('I pass {number:d} to number variables')
def step_impl(context, number):
context.number = number
@Then('parameter number must be bigger than 4')
def step_impl(context):
assert 5>4
三、最后一步打開cmd,然后cd到你feature所在的目錄,執行behave命令, 結果出來了:
問題解決:
1. 如果你遇到以下問題,則是你的代碼中出現tab, space混合使用縮進的原因。 請把你的代碼統一規范,要么tab縮進,要么space縮進。 一般都使用tab縮進。
如果轉載此篇文章,請標明轉載處來自T先生,謝謝!