有一個朋友強烈推薦Frank測試框架。所以趁著年底趕緊學一下。
這中間需要ruby的基礎。
安裝過程:
1.安裝frank-cucumber
命令: sudo gem install frank-cucumber (我一般習慣加-V,查看安裝過程)
2.在你的項目下設置frank以及執行下面的命令
命令: frank setup
3.編譯frank
命令:frank build
4.啟動模擬器
命令:frank launch
下來就改寫劇本了。。對,就是劇本,frank測試是由一個個測試場景和定義的大綱(就是步驟)來執行的,好吧,咱們就開始導演這場戲吧
1.編寫測試場景
在Frank文件下feature的文件下,建立feature文件,
這個測試場景,其實就是2元素組成的,一個是前提,一個是情節,一個電影不就是先有前提,再由一個個的情節組成
1)background:
我理解的是前提條件,比如你要測試,你首先起碼得launch app,就像拍電影要先開機吧
Background:
Given I launch the app
就是你看到的Given這個是關鍵字
2)Scenario:
情節這個就需要好好設計,希望不要導出來狗血劇
Scenario:
When I click button "點擊按鈕"
這就是一個情節,然后這只是誘因,那就后果,
Then username is null
比如username為空呢。。。所以,你必須處理,如果放任他,那你的戲就爛尾了。
對了執行場景文件的命令:
cucumber features/name.feature
在執行時 最好當前目錄在Frank文件下,這樣不會出其他莫名其妙的問題,浪費了我好多時間
2.步驟
情節和步驟相似但不一樣,情節是大概的,而步驟就不一樣了。步驟是要細化到每一個動作的
你需要在 feature文件夾的step_definitions的下面創建ruby文件,名稱最好和場景文件對應,好吧,你不對應也行,但是為了以后,你說呢。
下面呢針對上面的場景寫的步驟
When /^username is null$/ do
#給文本框賦值
frankly_map("textField first","setText:","18635180153")
#得到文本框值
puts frankly_map("textField first","text");
end
Then /^I click button "([^\"]*)"$/ do |mark|
quote = get_selector_quote(mark)
#得到綁定按鈕的對象
selector = "view marked:#{quote}#{mark}#{quote} first"
#點擊按鈕
touch(selector)
end
3.需要注意
其實你最好把symbiote也安裝了。這是一個用瀏覽器查看模擬器app當前視圖的view構成
這個可以提高編寫步驟的效率(這個效果慢慢來,我也是在學習中)
下次的Frank的blog主要是講其中的語法,以及特點
這是我今天學習Frank的成果,請各位指正。
原文轉自:http://www.cnblogs.com/1q2w3e/p/3473624.html