SAFE-BookStore
SAFE-BookStore copied to clipboard
Upgrade canopy tests to use chrome headless
AFAIk the phantom is no longer in active development. We should move over to chrome headless. I'd lvoe to get help for that.
/cc @lefthandedgoat
ChromeHeadless should work, if it does not let me know and I will try getting the source of this repo and figuring it out.
https://github.com/lefthandedgoat/canopy/blob/master/src/canopy/canopy.fs#L871
yeah the question is: how would our buld change? I'd really appreciate a PR which shows best pratice ;-)
I have headless Chrome working with Canopy and Expecto on another project. I could draft a PR if that would help?
Rather than check in the drivers I used https://www.nuget.org/packages/Selenium.WebDriver.ChromeDriver/ (and the Gecko and Edge variants) which works well for us. That should avoid the need for the RenameDrivers target as well.
yes that is exactly what I hoped. getting drivers from nuget or npm.
Looks possible to switch:
Starting ChromeDriver 2.37.543627 (63642262d9fb93fb4ab52398be4286d844092a5e) on port 11238
Only local connections are allowed.
[0321/105831.498:ERROR:gpu_process_transport_factory.cc(1019)] Lost UI shared context.
DevTools listening on ws://127.0.0.1:12774/devtools/browser/2db2f1af-53ce-46ae-84a3-472b31dcf62f
EXPECTO version
[10:58:34 INF] EXPECTO? Running tests... <Expecto>
[0321/105844.828:INFO:CONSOLE(1)] "Error parsing url: http://localhost:8085/", source: http://localhost:8085/public/bundle.js (1)
[0321/105845.125:INFO:CONSOLE(1)] "Error parsing url: http://localhost:8085/", source: http://localhost:8085/public/bundle.js (1)
[0321/105851.322:INFO:CONSOLE(1)] "Error parsing url: http://localhost:8085/", source: http://localhost:8085/public/bundle.js (1)
[0321/105929.504:INFO:CONSOLE(1)] "Error parsing url: http://localhost:8085/", source: http://localhost:8085/public/bundle.js (1)
[11:00:27 INF] EXPECTO! 4 tests run in 00:01:52.9297318 - 4 passed, 0 ignored, 0 failed, 0 errored. Success! <Expecto>
(Windows output, worked on MacOS as well)
The main issue I see is that it expects Chrome to be present. That's true by default on AppVeyor and can be configured on TravisCI (https://docs.travis-ci.com/user/chrome) but a given user may not have it. Think that's an issue?
PR here: https://github.com/SAFE-Stack/SAFE-BookStore/pull/318
Hope this helps, please let me know if it you have any problems and I will do what I can to help.