2017-09-26 24 views
0

我使用WebDriverIO,我要做到以下幾點:任何測試運行(createNewUsers) 前WDIO - 硒 - 運行特定的測試所有其他前 - 具有特定的功能

  • 運行單個測試對於第一次測試
  • 一旦完成
  • 使用特定功能(代理服務器設置),使用功能的默認設置爲一切

所以,我似乎無法摸不着頭腦:

我試圖添加第二組的能力,並使用exclude參數,以確保它僅適用於特定規範,但是,我不知道這是否真的能夠再如何調用該特定測試我的前擋 - 這樣的功能我用:

exclude: [ './newUserCreationStage/newStageUsers.js' ], 

但後來在我的面前塊 - 我怎麼說呢運行(如果可能):

before: function (capabilities, specs) { 
    expect = require('chai').expect; 

    RUN THIS './newUserCreationStage/newStageUsers.js' 
}, 
+0

'createNewUsers'聽起來不像一個測試給我。 –

+0

@MariaInesParnisari - 它實際上是一個函數,但我可以把它包裝的描述如果需要的話 – userMod2

+0

白衣TestNG的可以使測試依賴/它擋住。如果第一個失敗,一些測試將被跳過。 –

回答

0

我要說的是,你的設置需要有點不同的方法。首先看看xUnit Fixture Setup Patterns。這createNewUsers其實可以通過SuiteFixture安裝,預建的燈具,安裝裝飾及創建方法來實現的。這將設置在理想狀態的SUT任何測試運行

更妙的是之前刪除需要

運行單個測試 - 如果你有機會,你可以播種DB或致電在測試運行之前加載所有用戶,數據和任何你需要的API。這也被稱爲Back Door Manipulation。讓您的CI服務器將這一切作爲一個專門的步驟來處理。

由於您使用的摩卡,你可以utilize tags和組織您的套房和規範以更好的方式。這將允許您根據您的需要切換具有功能的驅動程序(閱讀測試需求,可能需要代理,其他則不需要)。我建議也考慮mocha-tags。這裏合適的是Strategy pattern。它可以讓你有許多相關的子類,只有不同的行爲。

相關問題