Poundex commented on issue #204: URL: https://github.com/apache/groovy-geb/issues/204#issuecomment-2481153044
There should be fixes and changes to Geb here. The workaround only covers the DownloadSupport, and even that shouldn't be necessary. It is a common enough use-case to be testing something far away with the RemoteWebDriver, either if its because TestContainers are in use or some kind of browser farm like Browser Stack. The workaround only addresses the container case and doesn't do anything to make customizing/replacing the other Support classes in Page/Module, either, where Geb is currently demonstrating poor and user-hostile library behaviour. The first change should be to make the Support fields in Page and Module protected rather than private. This allows sub-classes to implement their own `init` method and customise or replace these objects. This is the lowest-level fix, it would still need user effort to customise the file downloading but this allows the most complete customisation. Next, I think that the GebConfig should allow users to define common configuration properties for the Support objects, or supply custom factories for replacing them without having to implement their own `init` method in Page and Module. This will be a bit more limited but provide a better experience when users are simply trying to pass in some config, and not bring completely custom Support implementations. Then later on I think a TestContainers extension should join Geb's existing Browser Stack and Sauce Labs built-in extensions (which should be improved, as a quick glance suggests that these have the same problem) so that some common-sense configurations are applied automatically when using certain extensions or Driver types. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
