[1] [CITE@en-US[WebDriver Status - Mozilla | MDN]]
( ([TIME[2016-08-04 17:24:28 +09:00]]))
<https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver/status>

[2] [CITE@en-US[WebDriver - Mozilla | MDN]]
( ([TIME[2016-08-06 22:41:33 +09:00]]))
<https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver>

[FIG(quote)[
[FIGCAPTION[
[3] [CITE@en-US[Marionette - Mozilla | MDN]]
( ([TIME[2016-07-23 00:42:55 +09:00]]))
<https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette>
]FIGCAPTION]

> Marionette is an automation driver for Mozilla's Gecko engine. It can remotely control either the UI or the internal JavaScript of a Gecko platform, such as Firefox. It can control both the chrome (i.e. menus and functions) or the content (the webpage loaded inside the browsing context), giving a high level of control and ability to replicate user actions. In addition to performing actions on the browser, Marionette can also read the properties and attributes of the DOM.

]FIG]

[4] [CITE@en-US[Marionette Protocol - Mozilla | MDN]]
( ([TIME[2016-01-20 19:45:07 +09:00]]))
<https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/Protocol>

[5] selenium-server-standalone は、バージョン2の時
[CODE[-Dwebdriver.firefox.bin=...]] オプションで [[Firefox]]
の[[実行ファイル]]を指定できましたが、
バージョン3ではこのオプション自体が無くなっているようで、エラーになります。


[6] [CITE@en[mozilla/geckodriver: WebDriver <-> Marionette proxy]]
( ([TIME[2016-08-12 15:18:44 +09:00]]))
<https://github.com/mozilla/geckodriver>

[7] [CITE@en[Releases · mozilla/geckodriver]]
( ([TIME[2016-08-12 15:19:46 +09:00]]))
<https://github.com/mozilla/geckodriver/releases>

[8] [[GeckoDriver]] に対して [[Firefox]] が古すぎると、
[CODE[{"error":"unknown error","message":"Unsupported Marionette protocol version 2, required 3"}]]
というエラーが返されます。

[9] [[Selenium]] の [[FirefoxDriver]] では、 [[capabilities]] に
[CODE["firefox_binary": "/path/to/firefox"]] を指定すると、
[[Firefox]] の[[実行ファイル]]の位置を明示できます。


[10] 
非互換変更しまくるのやめてほしい・・・
[TIME[2018-02-01T10:15:57.700Z]]


[11] 
[[ChromeDriver]] と比べてもなーんか不安定なんだよなあ
[TIME[2019-11-05T00:59:14.000Z]]


[12] [CITE@en-US[mozilla-central: changeset 604680:577a5b37f781ba999825069a5f552468f9e55cc4]], [TIME[2023-04-19T01:43:14.000Z]] <https://hg.mozilla.org/mozilla-central/rev/577a5b37f781ba999825069a5f552468f9e55cc4>




[13] 
>>12 この変更から [CODE[Host:]] と [CODE[Origin:]] の値の検査が厳密になりました。
公開サーバーの不正利用の防止の意図なのでしょうけど、
従来の動作に戻す方法を提供しないで非互換変更してくるのが厳しい。


[14] 
[[listen]] している [[port]] と違う値が [CODE[Host:]] に設定されているとエラーになります。
回避オプションはなし。
[CODE[--allow-hosts]] は[[ホスト名]]だけしか書けず、[[ポート番号]]を書いてもエラーになるだけです。
[[ポート転送]]して他のポートで使っていた実装はこの変更で壊れました。







