Таким образом, это объяснит, почему ваша точка останова не работает (https://youtu.be/6aPfHrSl0Qk?t=1051). В основном Protractor помещает в очередь обещания в потоке управления и выполняется после завершения вашего блока it
.
Отладчик, работающий с отключенным потоком управления
Как это исправить, используйте следует использовать async / await, добавив SELENIUM_PROMISE_MANAGER: false,
в ваш файл конфигурации. Затем вы будете использовать async / await в своем тесте и следовать инструкциям в видео ng-conf на YouTube. В основном вам нужно будет использовать node --inspect-brk ./node_modules/.bin/protractor conf.js
, где conf - это ваш файл конфигурации Protractor.
it('Sales Force Test', async () => {
await browser.get(obj.URL_SF_UAT);
await browser.sleep(5000);
await obj.username.sendKeys("arijit.chowdhury@xxxx");
debugger;
* await obj.password.sendKeys("xxx");
Возможное быстрое исправление вашего блока it
(без отладчика)
Также вы можете заметить, что предыдущий тест может работать не так, как ожидалось. Чтобы исправить это не используя асинхронное ожидание. Я бы сделал:
it('Sales Force Test', () => {
browser.get(obj.URL_SF_UAT);
// this thenable statement is not needed, jasminewd should await this
// however the break points will not work.
browser.sleep(5000).then(() => {
return obj.username.sendKeys("arijit.chowdhury@xxxx").then(() => {
return obj.password.sendKeys("xxx");
});
});