В настоящее время я пишу тесты e2e, используя транспортир для загрузки файлов. Я сделал методы, в которых я добавляю файл в контейнер и после нажатия кнопки загрузки файлы загружаются. Методы объектного файла моей страницы:
addCustom() {
const absolutePath = path.resolve(__dirname, 'pathCustom');
elem.all(by.css('csslocator').get(0).sendKeys(absolutePath);
browser.sleep(500);
}
addProd() {
const absolutePath = path.resolve(__dirname,'pathProd');
elem.all(by.css('csslocator').get(1).sendKeys(absolutePath);
browser.sleep(500);
}
addOrders() {
const absolutePath = path.resolve(__dirname, 'pathOrders');
elem.all(by.css('csslocator').get(2).sendKeys(absolutePath);
browser.sleep(500);
}
В файле spe c я запускаю тест:
it('should upload three .csv files', (done) => {
let upload = new UploadPageObjects();
upload.addCustom();
upload.addProd();
upload.addOrders();
upload.upload();
done();
expect(upload.confirmMessage.isDisplayed()).toBeTruthy();
});
Если я удаляю browser.sleep () из методов при выполнении тестов:
Три файла добавляются в один контейнер
Есть ли способ удалить browser.sleep () из методов и избежать неправильного поведения?
upload() {
button = element.by(css('#upload-button');
browser.wait(ec.elementToBeClickable(button), timeout);
button.click();
browser.waitForAngular();
}