Всем привет
Решаю задачу по тестированию формы мультизагрузки файлов в браузере
Для мультизагрузки используется модуль angular-file-upload (
https://github.com/nervgh/angular-file-upload)
Форму нужно проверить в двух браузерах в IE 11 версии и Chrome
Есть условие, что при мультизагрузки количество одновременно загружаемых файлов не должно быть более 5
Ок, для тестирования я использую Protractor (e2e тест-фреймворк сделанный на основе WebDriverJS)
Вот сам код теста
it('A user attaches fileы with correct existantion', function () {
var validFile = '../test/filesToUpload/testxlsx.xlsx',
validFile2 = '../test/filesToUpload/testxls.xls',
var absolutePath = path.resolve(__dirname, validFile);
var absolutePath2 = path.resolve(__dirname, validFile2);
$('#ifile').sendKeys('"' +absolutePath2 + '" "' +absolutePath +'"');
var absolutePath = path.resolve(__dirname, invalidFile);
var errorMessageElement = $('.contactForm__errorMessage');
expect(errorMessageElement.getText()).toEqual('');
});
Немного поясню
В Chrome (и в IE) при выборе нескольких файлов для мультизагрузки - имена файлов заключаются в кавычки и пишутся через пробел.
Запускаю тест - в IE все ок (да, в IE как не странно), а в Chrome тест падает с ошибкой:
Т.е. хром не понимает мои два файла, заключенные в кавычки и разделенные пробелом.
UnknownError: unknown error: path is not absolute: "E:\MyProjects\tns\test\filesToUpload\testxls.xls"
"E:\MyProjects\tns\test\filesToUpload\testxlsx.xlsx"
Пробовал и с относительнями путями и с абсолютными - картина та же самая, в ИЕ все ОК, в хроме тест падает
Кто сталкивался, подскажите, плиз!