2017-07-06 61 views
0

我們有一個使用BDD特性文件的Protractor-CucumberJS框架,需要通過在特性文件中標記相關場景作爲'@sanity'來創建一套完整性測試,使用此標籤只運行場景。Protractor-CucumberJS - 標記場景 - 爲沒有標記的場景啓動瀏覽器

使用此設置,Protractor將逐個爲每個功能文件啓動瀏覽器,檢查它是否包含'@sanity'標記並關閉瀏覽器(如果找不到標記等)。

這將花費很多時間,因爲有近200個功能文件,因此我們希望瀏覽器只有在功能文件包含所需標記時纔會啓動,否則就不會啓動。

有沒有辦法做到這一點。

配置文件 -

exports.config = { 
    seleniumAddress: 'http://127.0.0.1:4444/wd/hub', 
    framework: 'custom', 
    frameworkPath: require.resolve('protractor-cucumber-framework'), 
    specs: [../features/*.feature] 
    cucumberOpts: { 
     require: [ 
      '../step-definitions/**/*_Steps.js', 
      'generateJsonReport.js' 
     ], 
     format: 'pretty', 
     tags: ['@sanity'], 
    }, 

    multiCapabilities: [{ 
     browserName: 'chrome', 
     shardTestFiles: true, 
    } 
    ], 

    onPrepare: function() { 
     browser.driver.manage().window().setSize(1600, 800); 
    } 
}; 

回答

1

這是不可能的,因爲事實上,你正在使用的選項shardTestFiles:true,請參閱config

如果您禁用它或刪除它,它將首先搜索您的特定標記的所有文件(不解析所有文件併爲其打開瀏覽器),並僅運行具有該標記的特徵文件。

0

使用的標籤:「@理智」,在CONF文件,這將調用僅理智功能

+0

仍然是相同的結果。如何添加標籤到配置文件不同於通過命令行傳遞它。 – Manya