Frank自動化測試框架

發表于:2014-04-09來源:博客園作者:good fortune點擊數: 標簽:自動化測試
記得是夏天的時候去參加一個infoQ的論壇,里面有一個朋友強烈推薦Frank測試框架。所以趁著年底趕緊學一下。 這中間需要ruby的基礎。

  有一個朋友強烈推薦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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97