как настроить отладку в grunt-protractor-runner v5, protractor v4.0.14 и node v8.13 - PullRequest
0 голосов
/ 29 апреля 2020

Я недавно перешел к проекту по перестройке всей нашей базы кодов корпоративных транспортировщиков. мы используем узел v8.13, транспортир v4.0.14 и grunt-protractor-runner v5. Я был бы открыт для отладки в VScode или chrome.

вот как я настраиваюсь ...

запуск vscode. json

        {
            "type": "node",
            "request": "launch",
            "name": "Pro Debug",
            "program": "${workspaceRoot}/node_modules/protractor/bin/protractor",
            "args": ["${workspaceRoot}/ConvertedJSFiles/tests/config/conf.js"],
        }

хрюканье. js

default: {
      options: {
        keepAlive: true,
        debug: true
      }
    },

exampleTest.ts

  it( '2@Click in Sign in to your account', async function () {
    browser.pause();
    debugger;

    await commonMethods.beforeAll();

    landingPage.logIn();
    expect( browser.getCurrentUrl() ).toContain( 'login' ); 
  } );

при попытке отладки в chrome, я выполняю с командой 'grunt'. кажется, что тест не пройден в тот момент, когда я ввел оператор 'debugger'. я не уверен, но я думаю, что эта ошибка вызвана транспортиром, поскольку транспортир - то, что порождает процесс узла.

>> (node:13476) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
>> Debugger listening on ws://127.0.0.1:9229/ff1f9827-a76b-4400-9d0e-b0cec6912508
>> For help see https://nodejs.org/en/docs/inspector
>> (node:13477) [DEP0068] DeprecationWarning: `node debug` is deprecated. Please use `node inspect` instead.
>> Port 9229 is already in use. Please specify another port to debug.

при попытке отладки с помощью vscode я получаю следующую ошибку. Я думаю, это может быть связано с тем, что vscode выполняет conf. js без запуска транспортира.

[16:57:06] E/runner - Unable to start a WebDriver session.
logger.js:170
[16:57:06] E/launcher - Error: UnsupportedOperationError: unknown command: Cannot call non W3C standard command while in W3C mode
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'US8525RT.local', ip: 'fe80:0:0:0:cdc:1e02:9f9f:9858%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.4', java.version: '1.8.0_241'
Driver info: driver.version: unknown
    at Object.checkLegacyResponse (/Users/jayce.tan/Code/ui-automation-ts/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:639:15)

любая помощь будет принята с благодарностью. спасибо!

1 Ответ

1 голос
/ 29 апреля 2020

Попробуйте вот так

Примечание: если вы используете outfolder для встроенного файла ts в js, исправьте путь.

запуск. json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "stopOnEntry": false,
            "program": "${workspaceRoot}/node_modules/protractor/bin/protractor",  // path the protractor node modules.
            "args": [
                "${workspaceRoot}/build/config/config.js" // path to compiled protractor configuration file.
            ],
            "preLaunchTask": null,
            "sourceMaps": true,
            "outFiles": [ "${workspaceRoot}/build/**/*.js" ]
        }
    ]
}

После этого установите точки останова в коде Visual Studio и отладьте программу.

Если у вас все еще есть проблемы с W3 C, просто отключите его

Конфигурация Proractor. js Примечание: адаптируйте его под свои нужды, это всего лишь пример, как отключить w3 c

capabilities: {
   browserName: 'chrome',
   'goog:chromeOptions': {
       w3c: false,
       args: [] // args if required.
    }
}
...