一、基本介紹
Frank是ios開發環境下一款實現自動測試的工具。
Xcode環境下開發完成后,通過Frank實現結構化的測試用例,其底層語言為
Ruby。作為一款開源的iOS測試工具,在國外已經有廣泛的應用。但是國內相關資料卻比較少。其最大的優點是允許我們用熟悉的自然語言實現實際的操作邏輯。
一般而言,測試文件由一個.feature文件和一個.rb文件組成。.feature文件包含的是測試操作的自然語言描述部分,內部可以包含多個測試用例,以標簽(@tagname)的形式唯一標識,每個用例的首行必須有Scenario: some description;.rb文件則是ruby實現邏輯,通過正則表達式匹配.feature文件中的每一句自然語言,然后執行相應的邏輯操作,最終實現自動測試的目的。
二、安裝
1. Terminal 輸入sudo gem install frank-cucumber,下載并安裝Frank
2. Terminal 進入工程所在路徑,工程根目錄
3. 輸入:frank-skeleton,會在工程根目錄新建Frank文件夾
4. 返回Xcode界面,右鍵Targets下的APP,選擇復制,Duplicate only
5. 雙擊APPname copy,更改副本名,例如 Appname Frankified
6. 右擊APP,Add Files to Appname……
7. 勾選副本,其余取消選定。選擇新建的Frank文件夾,Add.
8. 選擇APP,中間部分Build Phases選項卡,Link Binary With LibrariesàCFNetwork.framework,Add.
9. 依舊中間部分,選擇Build Settings選項卡,Other Linker Flags,雙擊,添加“-all_load”和“ObjC”
10. 左上角,Scheme Selector,在RUN和STOP按鈕的右邊,選擇Appname copy-IPHONE
11. 瀏覽器中打開http://localhost:37265,可以在瀏覽器中看到植入Frank的應用
我在添加了兩個flag之后老是報錯,嘗試了N種方法之后索性全部刪掉,結果就可以了,無語
三、基本步驟
1. terminal 切換到Frank文件夾所在目錄
2. frank launch, 打開simulator,開始運行(默認是用IPHONE simulator,要用IPAD simulator時,需要如下命令行,添加參數:frank launch --idiom ipad)
3. cucumber Frank/features/my_first.feature --tags @tagname (注意tags前面兩個‘-’)PS:如果沒有tag則自動運行文件中所有case