2017-10-05 31 views
0

我正在用量角器測試我的無角應用程序。 我有40個測試套件,包括登錄測試。這些所有的測試套件都在不同的文件中。我想要在量角器中的一個新的chrome實例中的每個測試套件

export.config :{ 
    spec:[ 
    'testSuite1.js', 
    'testSuite2.js', 
    'testSuite3.js', 
    'testSuite4.js', 
    ... 
    ... 
    'testSuite38.js', 
    'testSuite39.js', 
    'testSuite40.js', 
    ] 
} 

我想在新的chrome瀏覽器窗口中啓動每個10個測試套件。 與我運行時一樣,在命令行中輸入protractor conf.js,它應該開始打開4個窗口,其中包含所有40個測試套件。

每個實例10。

我有一些想法原樣

capabilities: { 
    browserName: 'chrome', 
    shardTestFiles: 'true', 
    maxInstances: 4 
    }, 

,但沒能做到。

UPDATE 我試圖描述Ernst,但沒有成功 -

Started Selenium server: 127.0.0.1:4444 
Running "protractor:start" (protractor) 
task [17:04:00] W/launcher - You have specified both capabilities and multiCapabilities. This will result in capabilities being ignored [17:04:00] I/launcher - Running 0 instances of WebDriver 
E:\Work\test> 
+0

你想實現並行執行嗎? –

+0

[Sudharsan](https://stackoverflow.com/users/6405587/sudharsan-selvaraj),我已經更新了我的問題,首先看到了這一點,是的,我希望實現並行執行。 –

回答

1

我覺得這樣的事情可能會爲你工作。

您可以添加特定的spec的每個功能或排除一些。 正如你可在multiCapabilities「重複同樣的能力」,我建議是這樣的:

multiCapabilities: [{ 
    browserName: 'chrome', 
    shardTestFiles: 'true', 
    maxInstances: 4 
    spec: ['spec_1.js', ... , 'spec_10.js'] //evtl. specify a path with them and do ../path/*.js 
},{ 
    browserName: 'chrome', 
    shardTestFiles: 'true', 
    maxInstances: 4 
    spec: ['spec_11.js', ... , 'spec_20.js'] //evtl. specify a path with them and do ../path/*.js 
}, { 
    //same for the other test suites. 
}], 

檢查official lib/config.tscapabilities部分了解更多詳情。

由於我自己對這些選項沒有經驗,所以您需要嘗試一下。

讓我知道,如果它導致你的解決方案。

+0

此外這可能有助於減少重複 - https://github.com/angular/protractor/blob/master/lib/config.ts#L338 – Xotabu4

+0

它沒有工作,我已經更新,如我的問題 –

+0

警告消息非常清楚:使用'multiCapabilities'或'Capabilities',但不能同時使用它們。因此請評論你的「能力」部分。除此之外,我沒有在你的問題中看到任何錯誤或進一步增加的信息,這將解釋爲什麼你的測試沒有開始(如果他們沒有)。 –

相關問題