2017-08-29 62 views
0

我爲我的主頁編寫了一些測試,但測試非常通用,如頁腳,頁眉檢查。nightwatchjs,在多個頁面上運行相同的測試

我的測試結構是這樣的:

const footerCheck = function(browser){ 
    browser.url("example.com"); 
    browser.verify.elementPresent(".footer-top", "Footer-top is present.") 
    browser.verify.elementPresent(".footer-middle", "Legal notice bar is present") 
    browser.verify.elementPresent(".footer-bottom", "Copyright bar is present") 
    } 

export.module = { 
"Footer Check" : footerCheck 
} 

可以說我有100頁。我想在所有頁面上運行footerCheck函數。

網址像example.com/page1,example.com/page2,example.com/page3 ...

因爲所有的測試是有效的其他網頁,我想回路相同的測試的所有頁面案例。不知怎的,我無法理解它。

這怎麼可能,任何幫助將不勝感激。

感謝

+0

請提供更多示例代碼,您的問題太籠統了。 –

+0

@BaoTran我已經更新了我的代碼,希望它能給出一個想法。 – serkan

+0

我昨天在這裏回答了一個類似的問題https://stackoverflow.com/questions/45988237/mocha-unable-to-run-with-nightwatch/46077141#46077141。如果你使用摩卡,你也可以創建動態測試,黃瓜也可以工作,但是它爲你的測試增加了另外一層,如果你的團隊不是全部使用BDD和黃瓜,它會傷害你的生產力。 – sonhu

回答

1

在我個人的經驗,做BDD是增加使用gherkin語法黃瓜最好的方法。如果您知道如何使用它,它會更清晰並且有助於減少冗餘代碼。有一個Nightwatch npm plugin添加黃瓜,一旦你添加它,你必須創建類似如下

Feature: Check elements are present 
Scenario Outline: 
Given the user enters on a <page> 
Then .footer-top, .footer-middle and .footer-bottom class should be enabled 

Examples: 
|page| 
|page.com/page1| 
|page.com/page2| 
|page.com/page3| 

和你的步驟定義(在這裏你聲明一下將做的每一步)您.feature文件,它會自動將每個運行步驟爲示例中提供的每個網址(請注意將在示例中替換的<page>標誌,第一行是標記的名稱)。

看一看examples

相關問題