mllrsohn / gulp-protractor

gulp wrapper for protractor tests
MIT License
136 stars 82 forks source link

Add autoStartStop option #111

Closed mattfritz closed 7 years ago

mattfritz commented 8 years ago

Adds support to automatically download, start, and stop the latest Selenium standalone using Protractor's webdriver-manager. This will only work with the latest version specified by Protractor.

gruppjo commented 8 years ago

Hi @mattfritz, thank you very much for working on this!

I cloned and npm linked this branch to test it with my setup and unfortunately the task still runs indefinitely, even when I supply the seleniumServerJar path as described here: https://github.com/mllrsohn/gulp-protractor#protractor-webdriver. Maybe there's a different problem?

I'm working on OSX 10.11.5 with node 5.11. I cannot test on windows, sorry.

image

If it helps I can throw together a repo with a minimal viable use case, so we can both test.

mattfritz commented 8 years ago

That would be great if you could. It would be awesome to write some functional specs around this using that repo. I tested it without providing seleniumServerJar or seleniumAddress since it just uses the Protractor defaults and it worked for me.

Let me know when you get a chance to put a basic repo put together and we can replace the outdated examples in gulp-protractor. Thanks!

gruppjo commented 8 years ago

Hi @mattfritz, sorry for the hold-up. I did some digging around while trying to set up a minimal use-case and I noticed that it wasn't gulp-protractor that kept the gulp task running it was rather a problem with browser-sync that has now been fixed in the latest version. More info and references here: https://github.com/mwaylabs/generator-m-ionic/issues/310#issuecomment-227976978

What really confuses me that even with the published version of gulp-protractor (without linking your PR to my project) the gulp tasks all finished. So now I'm really confused why the docs state it otherwise. Since that is what led me to believe that this was a problem with gulp-protractor.

The second option is to let the gulp task handle it with the built-in webdriver snippet. If you decide to start it that way, the task will keep running indefinitely.

var webdriver_standalone = require("gulp-protractor").webdriver_standalone;
gulp.task('webdriver_standalone', webdriver_standalone);

If you want to take a look at our implementation. Head over to our demo repository's dev branch clone it, npm install && bower install and run gulp protractor to see the results. You can find the involved gulp tasks here and here.

I'm really sorry for all the confusion and commotion!

rahulmr commented 7 years ago

Closing this PR as it seems that we have other options for start stop and even directConnect with the latest version of protractor