Getting it to work with karma-1.7.0 and selenium-webdriver-3.7.0 #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The initial issue, was that karma was not quitting after having run all the browsers.
It seemed to be waiting for a self._done call from this launcher.
After having fixed the done and _done calls to satisfy karma, I tried to refactor the launcher to avoid overriding base methods. My goal was to use the provided events 'start' and 'kill' to perform the requested actions.
This was quite a change to the initial code but also removed the dependency to q for promises.
I am not quite sure about backwards compatibility to earlier versions of karma as I my main intend was to get it to work with our setup of karma and selenium.
Up until now I successfully testet the implementation using the following components:
There is only one issue with IEDriverServer, which errors after quitting but having executed all the tests successfully. I suspect it does not handle the drivers quit call like the other drivers but I did not want to integrate browser specific code into the pull request.
I know the pull request is quite a change (sorry for that) but it now allows us to run our tests fully automated on our selenium based infrastructure.