В проекте angular2 + у меня есть тестовый сценарий e2e, который нажимает кнопку, загружается файл и проверяется содержимое.Он работает в обычном режиме, но не в режиме без головы.Файл не загружается, и тестовый тайм-аут истекает.
В моем protractor.conf.js я уже перепробовал много флагов, найденных в разных местах:
const os = require('os');
[...]
capabilities: {
'browserName': 'chrome',
chromeOptions: {
args: ['--headless', '--disable-gpu', '--disable-popup-blocking', '--no-sandbox', '--window-size=1024,768', '--remote-debugging-port=9222', "--disable-dev-shm-usage"],
prefs: {
'download': {
'prompt_for_download': false,
'directory_upgrade': true,
'default_directory': os.homedir() + '/Downloads'
},
safebrowsing: {enabled: false, disable_download_protection: true},
browser: {set_download_behavior: { behavior: 'allow' }}
}
}
},
Без успеха.
Также я где-то читал, что вы можете настроить его следующим образом
// works for headless and "normal" mode
browser.driver.sendChromiumCommand('Page.setDownloadBehavior', {
'behavior': 'allow',
'downloadPath': DOWNLOAD_DIR
});
Но нет никакой переменной sendChromiumCommand ни в переменной браузера, ни в protractor.conf.js, ни вфайл спецификации.
Как мне заставить это работать?Заранее спасибо.