SAFE-BookStore icon indicating copy to clipboard operation
SAFE-BookStore copied to clipboard

Upgrade canopy tests to use chrome headless

Open forki opened this issue 6 years ago • 6 comments

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

forki avatar Mar 20 '18 07:03 forki

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

lefthandedgoat avatar Mar 21 '18 04:03 lefthandedgoat

yeah the question is: how would our buld change? I'd really appreciate a PR which shows best pratice ;-)

forki avatar Mar 21 '18 09:03 forki

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.

cgravill avatar Mar 21 '18 10:03 cgravill

yes that is exactly what I hoped. getting drivers from nuget or npm.

forki avatar Mar 21 '18 10:03 forki

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?

cgravill avatar Mar 21 '18 11:03 cgravill

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.

lefthandedgoat avatar Mar 22 '18 02:03 lefthandedgoat