Size: a a a

2019 December 23

V

Victor in JS for testing
Пробовал, не помогает. Пробовал и дожидаться элемент. Там после сабмита формы должен показываться попап об успехе. Т.е элемент появляется в разметке только после сабмита. По коду всё верно вроде, и когда протрактор запускает браузер для теста, я сразу там же по ходу проверяю этот элемент — после сабмита он появляется в разметке. Но тест всё равно валится с ошибкой
источник

BO

Boris Osipov in JS for testing
Victor
Пробовал, не помогает. Пробовал и дожидаться элемент. Там после сабмита формы должен показываться попап об успехе. Т.е элемент появляется в разметке только после сабмита. По коду всё верно вроде, и когда протрактор запускает браузер для теста, я сразу там же по ходу проверяю этот элемент — после сабмита он появляется в разметке. Но тест всё равно валится с ошибкой
показывай html. мы же не ванги угадать где ты ошибся :)
источник

V

Victor in JS for testing
ну типа вот, в разметке элемент с таким селектором есть, но тест падает с ошибкой о том, что такого нет
источник

OI

Oleksii Ihnatiuk in JS for testing
смотри, открой консоль и напиши document.querySelectorAll('свой CSS сюда локатор')
источник

BO

Boris Osipov in JS for testing
Victor
ну типа вот, в разметке элемент с таким селектором есть, но тест падает с ошибкой о том, что такого нет
1) iframe там нету?
2) document.querySelector('css-selector-text') что возвращает?
источник

OI

Oleksii Ihnatiuk in JS for testing
он вернет что не нашел, css селектор написан неверно
источник

V

Victor in JS for testing
Да в общем, после сабмит элемент есть, как и ожидалось
источник

OI

Oleksii Ihnatiuk in JS for testing
хотя я не прав, так можно
источник

V

Victor in JS for testing
И по коду я его проверяю после сабмита и задержки даже, так что он точно уже должен быть
        const submitButton = element(by.css('button[type="submit"]'));
       submitButton.click();

       browser.sleep(3000)

       const successDialog = element(by.css('nn-success-dialog'));

       // const until = protractor.ExpectedConditions;
       // browser.wait(until.presenceOf(successDialog), 5000, 'Element taking too long to appear in the DOM');
       
       expect(successDialog.isDisplayed()).toBe(true);
   });
 });
источник

V

Victor in JS for testing
не понимаю как так
источник

BO

Boris Osipov in JS for testing
Victor
И по коду я его проверяю после сабмита и задержки даже, так что он точно уже должен быть
        const submitButton = element(by.css('button[type="submit"]'));
       submitButton.click();

       browser.sleep(3000)

       const successDialog = element(by.css('nn-success-dialog'));

       // const until = protractor.ExpectedConditions;
       // browser.wait(until.presenceOf(successDialog), 5000, 'Element taking too long to appear in the DOM');
       
       expect(successDialog.isDisplayed()).toBe(true);
   });
 });
не пропускай плиз вопросы
>1) iframe там нету?
источник

V

Victor in JS for testing
Boris Osipov
не пропускай плиз вопросы
>1) iframe там нету?
Есть выше, и он закрыт. Ну т.е попап не внутри ифрейма
источник

V

Victor in JS for testing
источник

BO

Boris Osipov in JS for testing
ну тогда выкладывай весь код теста и весь html странички на gist.github.com\pastebin.com
иначе не понятно в чем проблема
источник

AP

Alexander Popov in JS for testing
Victor
И по коду я его проверяю после сабмита и задержки даже, так что он точно уже должен быть
        const submitButton = element(by.css('button[type="submit"]'));
       submitButton.click();

       browser.sleep(3000)

       const successDialog = element(by.css('nn-success-dialog'));

       // const until = protractor.ExpectedConditions;
       // browser.wait(until.presenceOf(successDialog), 5000, 'Element taking too long to appear in the DOM');
       
       expect(successDialog.isDisplayed()).toBe(true);
   });
 });
а ты в селекторе точку не пропустил?
источник

V

Victor in JS for testing
Alexander Popov
а ты в селекторе точку не пропустил?
Нет, это же не класс, а тег такой
источник

AP

Alexander Popov in JS for testing
аа...ничесе...
источник

AP

Alexander Popov in JS for testing
залогай после вейта пейдж сорс, поищи там свой элемент. попробуй еше там же поискать элемент через консоль.
источник

OK

Oleksandr Khotemskyi in JS for testing
mkots
Ничего он не проверяет. Он просто проверяет есть ли такой элемент в доме. Я так понимаю он нужен для обратной задачи больше. Что какой-то элемент should('not.exist')
а какой тогда в нем смысл если .get кидает эксепшн?
источник

OK

Oleksandr Khotemskyi in JS for testing
надо весь html смотреть. Скорее всего там shadowDOM/iframe…
источник