Отладка испытаний транспортира, которые начинаются с Angular CLI `ng e2e` - PullRequest
0 голосов
/ 04 декабря 2018

Как можно отладить тест транспортира с помощью Angular 6+, работающего с ng e2e.

Я установил debug: true в файле e2e/protractor.conf.js.При вызове browser.pause() в тесте я получаю ошибку и подсказку, что мне следует использовать ключевое слово debugger;.Однако использование знака не имеет никакого эффекта.

Пример кода:

it('the user-menu should be present', () => {
  page.navigateTo();
  browser.pause();
  //debugger;
  let elem = page.getUserIconMenuButton();
  expect(elem.isPresent()).toBeTruthy();
});

Это предупреждение, которое я получаю:

***********************************************************
* WARNING: _debugger module not available on Node.js 8    *
* and higher.                                             *
*                                                         *
* Use 'debugger' keyword instead:                       *
* https://github.com/angular/protractor/blob/master/docs/debugging.md                               
***********************************************************
C:\...\node_modules\protractor\built\debugger\debuggerCommons.js:14
  throw e;
  ^

Error: Cannot find module '_debugger'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\...\node_modules\protractor\built\debugger\debuggerCommons.js:3:18)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)

Я пытался следовать инструкциям, приведенным в линге.(https://github.com/angular/protractor/blob/master/docs/debugging.md), но на самом деле это не помощь.

Есть ли у кого-нибудь руководство по настройке отладки тестов e2e с использованием Angular-CLI?

1 Ответ

0 голосов
/ 15 декабря 2018

Не уверен, что вы нашли какое-либо решение проблемы.Но я нашел некоторую помощь здесь.

https://github.com/angular/protractor/issues/4307#issuecomment-386112285

Для Node v8 +: -

  • Установите SELENIUM_PROMISE_MANAGER: false в вашем protractor.conf.js
  • Обновите tsconfig.e2e.json 1014 * как "target": "es2017"
  • Используйте async / await .Например, -

     it('should greet the named user', async function() {
       await browser.get('http://www.angularjs.org');
       await element(by.model('yourName')).sendKeys('Julie');
     });```
    

Это решило мою проблему.Надеюсь, это вам тоже поможет.Пожалуйста, поделитесь, если вы найдете другое решение тоже.

...