Open joeyparrish opened 1 year ago
The way to achive this from the point of view of projects that repackage geckodriver is to always provide --profile-root
.
geckodriver could detect a snap binary and change the default profile root based on that, but it's not quite clear where that should be.
In my case, I'm not repackaging it so much as downloading it automatically so it's not a prerequisite for running tests in my projects.
I'll have to see if there's a stop-gap at a project level that could specify this flag. But this adds extra complexity when it's part of a Selenium grid, as we now have to specify that flag in the options in every client using the grid. And the client specifying a path for profiles on a remote system feels all wrong IMO.
Could snap profiles default to a root like $HOME/.geckodriver/
?
Sorry for the delay but we missed the last update. There is https://bugzilla.mozilla.org/show_bug.cgi?id=1819377 now which covers that issue.
System
Testcase
N/A
Stacktrace
N/A
Trace-level log
N/A
See also comment https://github.com/mozilla/geckodriver/issues/2010#issuecomment-1281545025 and below for context.
My test infrastructure downloads drivers to match the installed versions of browsers, but doesn't know about snap. Geckodriver only supports Firefox snap without special arguments if you use the version from inside snap. According to #2010, this is because the snap package doesn't share
/tmp
with the host, and geckodriver seems to want to put temporary profiles into/tmp
.I would like geckodriver to be able to be independent of snap, and for an external geckodriver to work by default whether Firefox is installed directly on the host or via snap. It seems that this can be done by either:
--profile-root
to a shared location/tmp
to the snap packageWhat would be a more acceptable solution? Is there a third option?
Thanks!