2016-09-23 60 views
0

我使用量角器黃瓜框架,它與量角器分離。 我的量角器版本4.0.9昨晚被推出。並行運行量角器 -

我的問題: 在並行與運行量角器:protractor protractor.conf.js 生成的結果JSON文件只顯示最後一次測試完成。基本上,這個JSON文件是自動覆蓋的,所以當有多個測試特性文件時,我們的Bamboo cucumber插件只顯示一個測試結果。

例如,如果你有2個的測試和配置設置是這樣的:

//Protractor.conf.js

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

,甚至是這樣的:

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

And my cucumberOpts:

cucumberOpts: { 
    require: [ 
     conf.paths.e2e + '/steps/**/*Steps.js', 
     conf.paths.e2e + '/hooks.js', 
     conf.paths.e2e + '/env.js',//For Cucumber framework i.e framework: custom 
     conf.paths.e2e + '/otherHooks.js', 
    ], 
    tags: ['[email protected]', '[email protected]'], 
    format: 'pretty', 
    //'fail-fast': true 
    } 

這將彈出2個chrome實例,但最後,每個實例將生成自己的JSON結果文件,而不是單個累積json結果文件。

如何將所有並行運行的chrome實例的結果整合到單個JSON結果文件中,以便我們的Bamboo cucumber插件可以顯示並行運行的所有測試,而不僅僅是花費較長時間才能完成的最後一個測試。

我再次想要生成一個包含所有結果的單個json文件,而不是許多json文件,只是爲了說明;再次感謝您就這個問題,我「肯定一噸的人與現在掙扎。

回答

0

我前一段時間也有類似的問題,我解決了添加時間戳JSON文件的問題。

加入這行來Protractor.conf.js

resultJsonOutputFile: 'reports/'+Date.now()+'-protractor-report.json'

+0

感謝您的快速反應阿道夫,不會添加時間戳,因爲你有多個JSON文件?你會怎麼養活所有的JSON文件到黃瓜插件?我們使用竹子作爲我們的ci管線a nd它期望給定位置的單個json文件。 – pelican

+0

是的,你說得對。我有多個json文件。也許在量角器黃瓜框架的下一個版本中,它們允許在同一個json中得到多個結果。 https://github.com/mattfritz/protractor-cucumber-framework/issues/46 –

+0

再次感謝您發送的鏈接指向我正面臨的確切問題。我讀過不同的策略,並想知道你是否碰到過這個路障,你的解決方法是什麼?我會嘗試一些在該鏈接的建議,但我也認爲我可以實現這一點吞嚥任務,因爲我不使用grunt,基本上收集所有json文件與該Data.now()追加,然後連接它們全部json解析器和記者可以理解並顯示所有測試結果。請讓我知道如何在多用戶環境中整合您的json文件 – pelican