1

I'm trying to set up a protractor e2e project with TeamCity 2019.1. I've created Project, connected Agent, connected Subversion with repository.

I have Problem with set correct build steps.

How I'm running my tests locally:

  1. webdriver-manager update

  2. webdriver-manager start

  3. protractor conf.js

How my build steps looks like:

  1. NPM Install - Command Line - npm install

  2. Run e2e Tests - Command Line - webdriver-manager update, webdriver-manager start

  3. Ryn Protractro - Command Line - protractor conf.js

I'm receiving 100 code error which probably belong to protractror

[10:57:00]The build is removed from the queue to be prepared for the start
[10:57:00]Collecting changes in 1 VCS root
[10:57:00]Starting the build on the agent "Agent"
[10:57:00]Updating tools for build
[10:57:00]Clearing temporary directory: C:\*******\buildAgent\temp\buildTmp
[10:57:00]Publishing internal artifacts (1s)
[10:57:00]Using vcs information from agent file: 656e6e3c56c52893.xml
[10:57:00]Checkout directory: C:\*******\buildAgent\work\656e6e3c56c52893
[10:57:00]Updating sources: auto checkout (on agent)
[10:57:01]Step 1/3: NPM Install (Command Line) (3s)
[10:57:01][Step 1/3] Starting: C:\*******\buildAgent\temp\agentTmp\custom_script8813762716108933068.cmd
[10:57:01][Step 1/3] in directory: C:\*******\buildAgent\work\656e6e3c56c52893
[10:57:05][Step 1/3] audited 6564 packages in 3.185s
[10:57:05][Step 1/3] npm WARN protractor@1.0.0 No repository field.
[10:57:05][Step 1/3] found 1 high severity vulnerability
[10:57:05][Step 1/3] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
[10:57:05][Step 1/3]   run `npm audit fix` to fix them, or `npm audit` for details
[10:57:05][Step 1/3] npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
[10:57:05][Step 1/3] 
[10:57:05][Step 1/3] Process exited with code 0
[10:57:05]Step 2/3: Run Automated e2e tests (Command Line) (1s)
[10:57:05][Step 2/3] Starting: C:\*******\buildAgent\temp\agentTmp\custom_script2372200882230428378.cmd
[10:57:05][Step 2/3] in directory: C:\*******\buildAgent\work\656e6e3c56c52893
[10:57:05][Step 2/3] [10:57:05] I/update - chromedriver: file exists C:\Users\pathToChromedriver\webdriver-manager\selenium\chromedriver_78.0.3904.105.zip
[10:57:05][Step 2/3] [10:57:05] I/update - chromedriver: unzipping chromedriver_78.0.3904.105.zip
[10:57:06][Step 2/3] [10:57:06] I/update - chromedriver: chromedriver_78.0.3904.105.exe up to date
[10:57:06][Step 2/3] [10:57:06] I/update - selenium standalone: file exists C:\Users\pathToSelenium\webdriver-manager\selenium\selenium-server-standalone-3.141.59.jar
[10:57:06][Step 2/3] [10:57:06] I/update - selenium standalone: selenium-server-standalone-3.141.59.jar up to date
[10:57:06][Step 2/3] [10:57:06] I/update - geckodriver: file exists C:\Users\pathToGecodriver\selenium\geckodriver-v0.26.0.zip
[10:57:06][Step 2/3] [10:57:06] I/update - geckodriver: unzipping geckodriver-v0.26.0.zip
[10:57:06][Step 2/3] [10:57:06] I/update - geckodriver: geckodriver-v0.26.0.exe up to date
[10:57:06][Step 2/3] Process exited with code 0
[10:57:06]Step 3/3: Start Protractror (Command Line) (2s)
[10:57:07][Step 3/3] Starting: C:\*******\buildAgent\temp\agentTmp\custom_script7221387968242847926.cmd
[10:57:07][Step 3/3] in directory: C:\*******\buildAgent\work\656e6e3c56c52893
[10:57:07][Step 3/3] [10:57:07] **I/launcher - Running 1 instances of WebDriver**
[10:57:07][Step 3/3] [10:57:07] **I/hosted - Using the selenium server at http://localhost:4444/wd/hub**
[10:57:09][Step 3/3] [10:57:09] **E/runner - Unable to start a WebDriver session.**
[10:57:09][Step 3/3] [10:57:09] **E/launcher - Error: Error: ECONNREFUSED connect ECONNREFUSED127.0.0.1:4444**
[10:57:09][Step 3/3]     at ClientRequest.<anonymous> (C:\Users\User\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\http\index.js:238:15)
[10:57:09][Step 3/3]     at ClientRequest.emit (events.js:189:13)
[10:57:09][Step 3/3]     at Socket.socketErrorListener (_http_client.js:392:9)
[10:57:09][Step 3/3]     at Socket.emit (events.js:189:13)
[10:57:09][Step 3/3]     at emitErrorNT (internal/streams/destroy.js:82:8)
[10:57:09][Step 3/3]     at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
[10:57:09][Step 3/3]     at process._tickCallback (internal/process/next_tick.js:63:19)
[10:57:09][Step 3/3] **[10:57:09] E/launcher - Process exited with error code 100**
[10:57:09][Step 3/3] **Process exited with code 100**
[10:57:09][Step 3/3] **Process exited with code 100 (Step: Start Protractror (Command Line))**
[10:57:09][Step 3/3] **Step Start Protractror (Command Line) failed**
[10:57:09]Publishing internal artifacts (2s)
[10:57:11]Build finished

What I've tried:

to run with: Start-Process webdriver-manager start -passthru

webdriver-manager start --standalone

also the rest of the solutions from Stack - Unable to run Protractor - ECONNREFUSED connect ECONNREFUSED

Question:

Does anyone know what build steps should I set to successful run execution? Anyone have a similar problem and know how to force it?

I'm just starting my journey with TeamCity, that's why I'm asking for understanding.

Community
  • 1
  • 1

1 Answers1

1

In case anyone would like to build Protractor Tests with TeamCity:

Build steps I have chosen was correct, Selenium Address saved in the configuration file was causing the problem.

Build Steps:

enter image description here

Conf.js:

exports.config = {
  framework: "jasmine2",
  //seleniumAddress: "http://localhost:4444/wd/hub",

  SELENIUM_PROMISE_MANAGER: false,

  capabilities: {
    browserName: "chrome",
    shardTestFiles: true,
    maxInstances: 3,
    chromeOptions: {
      args: [
        "show-fps-counter=true",
        "--window-size=2000,1600" /*"--headless"*/
      ],
    }
  },
  onPrepare: async function() {
    await browser.waitForAngularEnabled(false);
    // Configuration for TeamCity Reporter
    let jasmineReporters = require("jasmine-reporters");
    jasmine.getEnv().addReporter(new jasmineReporters.TeamCityReporter());
  },

  suites: {
    Dashboard: []
  }
};