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

How to make the underlying Marionette requests? #2070

Closed
prRZ5F4LXZ opened this issue Dec 15, 2022 · 3 comments
Closed

How to make the underlying Marionette requests? #2070

prRZ5F4LXZ opened this issue Dec 15, 2022 · 3 comments

Comments

@prRZ5F4LXZ
Copy link

prRZ5F4LXZ commented Dec 15, 2022

I want to understand how the underlying Marionette requests are sent to control the browser. Is there a minimal working example of the underlying Marionette commands (below the python wrapper level) for a simple session of HTTP requests sent to geckodriver (the following being one simple request)?

curl -s -H 'Content-Type: application/json' -d <capabilities> http://127.0.0.1:4444/session

System

  • Version: NA
  • Platform: NA
  • Firefox: NA
  • Selenium: NA

Testcase

NA

Stacktrace

NA

Trace-level log

NA

@whimboo
Copy link
Collaborator

whimboo commented Dec 15, 2022

Marionette uses a custom socket protocol and we do not support accessing it directly. Is there a specific reason why the WebDriver protocol via geckodriver is not enough?

In case of further questions please join us at https://chat.mozilla.org/#/room/#webdriver:mozilla.org. The issue tracker here is actually used for bug reports and feature requests. Thanks.

@prRZ5F4LXZ
Copy link
Author

Since Marionette is below WebDriver, I'd think there might be some features available in Marionette but not available in WebDriver. For example, this feature is not available in WebDriver due to a limit on the protocol. But since Referer can be added by a browser plugin, I don't see such a feature that must be forbidden in Marionette.

#2069

https://firefox-source-docs.mozilla.org/testing/marionette/Protocol.html

"Clients may be implemented in any language that is capable of writing and receiving data over TCP socket."

So Marionette is based on TCP, indeed one level lower than HTTP.

But it is not clear what exact the TCP protocol is. The doc is not very clear on this. Is there a dedicated place to ask Marionette questions?

@whimboo
Copy link
Collaborator

whimboo commented Dec 15, 2022

Note that we will not enhance Marionette for such a request. For questions I have given a link to Matrix in my last comment.

@whimboo whimboo closed this as not planned Won't fix, can't repro, duplicate, stale Dec 15, 2022
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

2 participants