Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make external Geckodriver compatible with Firefox snap by default #2055

Open
joeyparrish opened this issue Oct 18, 2022 · 3 comments
Open

Make external Geckodriver compatible with Firefox snap by default #2055

joeyparrish opened this issue Oct 18, 2022 · 3 comments

Comments

@joeyparrish
Copy link

System

  • Version: 0.32.0
  • Platform: Linux
  • Firefox: N/A
  • Selenium: standalone v3.141.59

Testcase

N/A

Stacktrace

N/A

Trace-level log

N/A

See also comment #2010 (comment) 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:

  1. changing the default of --profile-root to a shared location
  2. by sharing the host's /tmp to the snap package

What would be a more acceptable solution? Is there a third option?

Thanks!

@jgraham
Copy link
Member

jgraham commented Oct 19, 2022

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.

@joeyparrish
Copy link
Author

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/?

@whimboo
Copy link
Collaborator

whimboo commented Feb 28, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants