代码之家  ›  专栏  ›  技术社区  ›  Tarator

调试用Angular CLI'nge2e启动的量角器测试`

  •  1
  • Tarator  · 技术社区  · 6 年前

    ng e2e

    我准备好了 debug: true e2e/protractor.conf.js 文件。打电话时 browser.pause() 在测试中,我得到一个错误和提示,我应该使用 debugger; 关键字。但是Usign没有效果。

    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 )但这并不是真正的帮助。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Yashwardhan Pauranik kizu    5 年前

    不知道你是否找到了解决问题的办法。但我在这里找到了一些帮助。

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

    对于节点v8+:-

    • 设置 SELENIUM_PROMISE_MANAGER: false 在你的 protractor.conf.js
    • 更新您的 tsconfig.e2e.json target 作为 "target": "es2017"
    • 使用

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

    它解决了我的问题。希望对你也有帮助。