Я пишу тесты для своего приложения AngularJS, используя транспортир и жасмин.
Я тестирую загрузку файла, используя приведенный ниже код:
const fileElem = element(by.css('input[type="file"]'));
fileElem.sendKeys(absoluteFilePath);
browser.sleep(500);
Он работает локально со следующими пакетами:
"chromedriver": "2.38.2", "protractor": "5.3.1", Chrome - v.66.0.3359.139
Но когда я запускаю эти тесты на GitLab CI, я получаю сообщение об ошибке:
[chrome # 01] F ✗ должен загрузить файл
[chrome # 01] - Ошибка: неизвестная ошибка: сеанс удален из-за сбоя страницы
[chrome # 01] из-за неизвестной ошибки: невозможно определить статус загрузки
[chrome # 01] на вкладке разбился
[chrome # 01] (Информация о сеансе: headless chrome = 65.0.3325.181)
[chrome # 01] (Информация о драйвере: chromedriver = 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb), platform = Linux 4.13.5-coreos-r2 x86_64)
Я использую директиву ng-file-upload.
Спасибо за вашу помощь!
fileElem.sendKeys(absoluteFilePath
или во время процесса загрузки? - person yong   schedule 02.05.2018fileElem.sendKeys(absoluteFilePath);
Он изменяет модель и загружает файл. Локально работает нормально. - person Vadim Shashkov   schedule 02.05.2018sendKeys
модель обнаружит изменение при вводе каждого символа. Таким образом, если длина пути к файлу равна 10, модель обнаружит 10-кратное изменение. Каждый раз, когда смена модели запускает загрузку файла. Но первые 9 раз путь к файлу неверен, поэтому частая загрузка файлов приводит к сбою браузера. - person yong   schedule 02.05.2018