crystal-loot / selenium.cr

Selenium library for Crystal
https://crystal-loot.github.io/selenium.cr/
MIT License
24 stars 7 forks source link

Update to run multiple instances of same webdriver #30

Closed Dakad closed 1 year ago

Dakad commented 1 year ago

Fixes #21

Description

This PR is a fix for #21 and an attempt to resolve #24. This PR changes update the Service.start to check if the default port assigned to the browser service is available or not. If not, it will keep increasing the port number until we found an open port and use it to run the driver bin command This will change will allow multiple instances to run the same browser on different ports, each one with its own context/session. It's very helpful when using Fiber :tada:

How it was tested?

Locally by running SELENIUM_BROWSER=firefox crystal spec -DDEBUG --error-trace spec/features/session_spec.cr