【发布时间】:2021-01-03 05:52:26
【问题描述】:
首先我应该指出,我们正在使用 docker 运行 Web 应用程序。
我在 Firefox 中使用量角器下载文件时收到提示,阻止我下载,因此我尝试通过修改 protractor.conf.js 文件(以下代码)来禁用下载提示
当我尝试在无头模式下使用 Firefox 上传文件时,我收到错误 Failed: Failed to decode response from marionette,但如果我禁用无头模式,它会正常工作。
我需要在此测试中使用 Firefox 和无头模式,我尝试使用 chrome 运行测试并且它有效,该问题仅在使用 Firefox 时发生。 有人可以在这里为我提供帮助吗?
PS:我已经研究过其他类似的问题,但解决方案已经过时(angularjs),它们对我不起作用。
量角器.conf.js
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
capabilities:
// { browserName: 'chrome',
// chromeOptions: {
// args: ['--headless', "--disable-gpu", '--no-sandbox'],
// // prefs: {
// // 'download': {
// // prompt_for_download: false,
// // // 'directory_upgrade': true,
// // // 'default_directory': '/home/houssem/Desktop'
// // }
// // }
// }
// },
{ browserName: 'firefox',
marionette: true,
acceptInsecureCerts: true,
'moz:firefoxOptions': {
args: [ "--headless" ],
prefs: {
'pdfjs.disabled': true,
'browser.download.folderList' : 0,
'browser.download.dir' : process.cwd() + "/Desktop",
'browser.download.panel.shown': false,
'browser.download.useDownloadDir': true,
'browser.download.manager.useWindow': false,
'browser.helperApps.alwaysAsk.force': false,
'browser.helperApps.neverAsk.openFile': true,
'browser.download.manager.closeWhenDone': false,
'browser.download.manager.alertOnEXEOpen': false,
'browser.download.manager.showWhenStarting': false,
'browser.download.manager.focusWhenStarting': false,
'browser.download.manager.showAlertOnComplete': false,
'browser.helperApps.neverAsk.saveToDisk' : 'image/svg+xml,image/vnd.dxf,image/png,image/x-citrix-png,image/x-png',
},
},
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
app.e2e-spec.ts
it('Testing upload button', () => {
page.navigateTo('/rules');
var path = require('path');
var fileToUpload = '../../tests/rules/rule-regex.json';
var absolutePath = path.resolve(__dirname, fileToUpload);
page.upload(absolutePath);
});
it('Testing download button', () => {
page.navigateTo('/nodeSymbols');
page.download();
});
app.po.ts
upload(file){
element(by.css('.controlPanel .batchUpload')).click();
element(by.css('#batchUploadInput')).sendKeys(file);
}
download(){
for (let i = 0; i < 6; i++) {
element(by.css('.controlPanel .download')).click();
element.all(by.css('#downloadMenu .downloadOption')).get(i).click();
}
}
【问题讨论】:
-
删除 firefox 选项并尝试时会发生什么?
标签: angular firefox protractor e2e-testing