How to configure Protractor (JS) for running tests in Microsoft Edge?
Asked Answered
T

1

5

I want to set my protractor.conf.js to run tests in Edge instead of in Chrome. Setting this

capabilities: {
    'browserName': 'MicrosoftEdge'
}

results in SessionNotCreatedError: Unable to create new service: EdgeDriverService with an error code of 199. I downloaded the MicrosoftWebDriver.exe for the version of Edge that I have from Microsoft's website, but I can't figure out how to tell Protractor where to find that driver. I've tried adding it to my user path, my system path, the selenium folder in protractor's node modules folder, and giving a jvmArgs: or seleniumArgs: of ['-Dwebdriver.edge.driver="<path-to-driver"'], but I still get that SessionNotCreatedError.

I'm only writing pure JavaScript, no Java or C#, and I want all of this to be set as attributes in the protractor.conf.js file, nothing set in the actual file of tests. I have the most recent version of Node, and I'm making sure to have Edge closed when running ng e2e. What do I need to change or add to my config file to get this to run?

EDIT: From this github issue, I added seleniumAddress: http://127.0.01:17556/ to my config file, but now I'm getting an ECONNREFUSED 127.0.0.1:17556 error with error code 135. I got that address from one of the comments on that github issue, but I get the same error regardless of starting the Edge driver manually or just running ng e2e --config <path-to-config>.


SOLUTION
Add seleniumAddress: 'http://localhost:4444/wd/hub' to the config file. Run the edge driver manually with webdriver-manager start --edge "<path-to-driver>\MicrosoftWebDriver.exe", and then run ng e2e in another window. Thank you so much to HaC for this solution!

Tweeny answered 19/12, 2017 at 16:57 Comment(3)
Try to launch the driver directly via command line to see if the issue is related to the driver or your environment.Simulator
Duplicate of #47766863Aldine
I did find that question in my initial research, but that question doesn't have a solution.Tweeny
M
7

Reference : https://github.com/angular/protractor/issues/2377

  1. Download and install Edge driver
  2. Run webdriver-manager start --edge "C:\path_to_the_driver\MicrosoftWebDriver.exe" . By default this will start your selenium server on port 4444 which should be open to you.
  3. In your protractor config file: add seleniumAddress: 'http://localhost:4444/wd/hub'
Midge answered 20/12, 2017 at 0:29 Comment(7)
I did this and it says Selenium Server is up and running, but how do I run my protractor tests with this? I tried opening another powershell window and running ng e2e, but it still tells me SessionNotCreatedError: Unable to create new service: EdgeDriverService.Tweeny
I figured that part out, but now I'm getting this error ECONNREFUSED 127.0.0.1:17556Tweeny
I see how my earlier answer may be confusing. Please see my edited answer. Basically you should start the server with webdriver-manager so you will have access to the open port and not 17556.Midge
@Emily- Can you post a concrete steps here, as you said it's working for you. I still didn't find answer concrete. It would be a great help. ThanksAldine
A big thanks you it works for me as well finally @Emily. I will post a concrete steps in linked question as well.Aldine
Glad to help. @Aldine perhaps you can do both Emily and myself by upvoting the question and answer. Thanks.Midge
This is not working for me at all. In my terminal when I launch the tests I am getting this error: SessionNotCreatedError: Unable to create session from org.openqa.selenium.remote.NewSessionPayload@1621b14 and in the terminal I am connecting to run the tests on I am getting Connection reset error. All of the other browsers are working correctly including IE. Edge is the last one giving me issues.Laterality

© 2022 - 2024 — McMap. All rights reserved.