• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 基于 KIF 的 iOS UI 自動化測試和持續集成(6)

    發表于:2017-03-10來源:美團點評技術團隊作者:美團點評技術團隊點擊數: 標簽:iOSKIF
    上述代碼中,我們看到許多封裝函數。為保證用例結構清晰明朗,我們借鑒 selenium pageObject 的設計方式, 遵循如下規則: a. 將頁面上的對元素的發現、操

    上述代碼中,我們看到許多封裝函數。為保證用例結構清晰明朗,我們借鑒 selenium pageObject 的設計方式, 遵循如下規則:

    • a. 將頁面上的對元素的發現、操作處理抽象為相應的類,返回操作結果;
    • b. 封裝盡可能多的工具類;
    • c. 測試用例只關注用例邏輯,步驟盡量簡潔。

    如下圖所示,在用例集 test suite 中,我們只保持清晰的用例邏輯;非用例邏輯的動作封裝成相應地用例集的類 test suite additions ;因為 KIF 的開源性,我們還可以利用 KIF 的私有 API 封裝我們需要的工具 Tools 類。

    (4)用例的運行獨立和 retry 機制

    失敗用例是不可避免的,上述用例的組織方式,降低了用例間的依賴性,但是并不能完全消除失敗用例對后續用例執行的影響。如果能讓每個用例獨立啟動 App 執行 case,則能保證后執行用例不受先執行失敗用例的影響。如果在 case 運行失敗后,還可以進行 retry 重試,則能提高用例運行的穩定性。xctool 工具能給我們帶來這樣的功能,我們用 xctool 命令先 build-tests 構建 app,然后循環啟動 app 來 run-tests 用例,用例失敗后,重新執行。下面是一個 xctool 獨立運行用例的簡單示例:

    xctool build-tests -workspace myApp.xcworkspace -scheme myKIFTestScheme -sdk iphonesimulator -configuration Debug -destination platform='iOS Simulator',OS=8.3,name='iPhone 6 Plus'
    
    array=( TimerTests HistoryTests )
    
    for data in ${array[@]}
    do 
            xctool  -reporter pretty -reporter junit:tmp/test-report-tmp.xml -workspace myApp.xcworkspace -scheme myKIFTestScheme run-tests -only myKIFTestTarget:${data}  -sdk iphonesimulator -configuration Debug -destination platform='iOS Simulator',OS=8.3,name='iPhone 6 Plus'
    done
    

    三、KIF 自動化的持續集成

    原文轉自:https://zhuanlan.zhihu.com/p/22283843

    ...
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>