3
使用している分度器のバージョンによって、コードと動作が異なるという問題があります。 私のテストは分度器のバージョン2.5.1で動作しています。最新の開発からすべての利益を得ることができます。 はバージョン3.xに移行しようとしました。ブラウザの機能 - 分度器2と分度器3
マイonPrepare機能は、分度器のバージョン2.5.1で正常に動作します:
onPrepare: function() { //configure junit xml report
browser.getCapabilities().then(function (capabilities) {
browser.capabilities = capabilities;
browser.browserName = capabilities.caps_.browserName;
});
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
filePrefix: 'frontendtests_result',
savePath: 'reports'
}));
var htmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter');
jasmine.getEnv().addReporter(
new htmlScreenshotReporter({
dest: 'screenshots',
pathBuilder: function (currentSpec) {
return browser.capabilities.get('platform') + '/' + browser.capabilities.get('browserName') + '/v.' + browser.capabilities.get('version') + '/' + currentSpec.fullName.substring(0, 4) + '/' + currentSpec.fullName;
},
preserveDirectory: false,
ignoreSkippedSpecs: true,
reportOnlyFailedSpecs: true,
captureOnlyFailedSpecs: false,
filename: 'my-report.html',
reportTitle: 'End-to-end-Tests e.VISOR v.4.0 Development Status',
showSummary: true,
showQuickLinks: true
})
);
},
With protractor version 3.2.2 i got the following error message:
C:\Program Files (x86)\nodejs\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1329
return callbackFn(this.value_);
^
TypeError: Cannot read property 'browserName' of undefined
at D:\SWE\Nitsch\Entwicklung\Hauptprojekt\Entwicklungszweig\Client\EnMS.Angular\EnMS\Frontendtests\protractor.config.js:83:53
at Promise.invokeCallback_ (C:\Program Files (x86)\nodejs\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1329:14)
at TaskQueue.execute_ (C:\Program Files (x86)\nodejs\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2790:14)
at TaskQueue.executeNext_ (C:\Program Files (x86)\nodejs\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2773:21)
at C:\Program Files (x86)\nodejs\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2652:27
at C:\Program Files (x86)\nodejs\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:639:7
at process._tickCallback (node.js:368:9)
[launcher] Process exited with error code 1
エラーが約conplainingされているコード行が
browser.browserName = capabilities.caps_.browserName;
あり、ここで私のミスは何ですか?ブラウザ機能を取得する際の分度器2と3の違いは何ですか?
すべてのヘルプは大歓迎です;)それはcapabilities.get('browserName')
に変更事前に
おかげ
敬具
Akki
魅力的な作品です - ありがとうございます。 –