2017-07-05 22 views
1

新geckodriver v0.17.0有提到here安裝插件的新方法:如何使用新的geckodriver端點?

POST /session/{session id}/window/fullscreen to invoke the window manager-specific full screen operation 
POST /session/{session id}/moz/addon/install to install an extension [Gecko only] 
POST /session/{session id}/moz/addon/uninstall to uninstall an extension [Gecko only] 

如何使用這些端點安裝我的插件到Firefox我硒測試?

回答

2

你必須知道geckodriver啓動的IP和端口。一旦geckodriver啓動後,您可以從驅動程序實例獲取會話ID。

你可以得到的IP地址和端口as mentioned here

對於例如:如果IP和端口是
本地主機:15874

和會話ID 1e53412a-05eb-40a9-8a7b- bb8dd6fd75ab

然後你就可以發佈一個JSON消息

http://localhost:15874/session/1e53412a-05eb-40a9-8a7b-bb8dd6fd75ab/moz/addon/install 

POST消息的主體應該是

{ 
    "path":"xxyy.xpi", 
    "temporary":true 
} 
+0

我怎麼能找到哪個端口geckodriver要跑? – mosaad

+0

@mosaad更新了答案檢查 – Madhan

1

如果有人需要使用這個從.NET客戶端 (因爲它尚未實現)

Public Class MyFirefoxDriver 
Inherits OpenQA.Selenium.Firefox.FirefoxDriver 

Public Sub New(fo As OpenQA.Selenium.Firefox.FirefoxOptions) 
    MyBase.New(fo) 
    MyBase.CommandExecutor.CommandInfoRepository.TryAddCommand("moz-install-web-ext", New CommandInfo(CommandInfo.PostCommand, "/session/{sessionId}/moz/addon/install")) 
End Sub 


Public Sub InstallWebExtension(path As String) 
    Dim params As New Dictionary(Of String, Object) 
    params.Add("path", path) 
    params.Add("temporary", True) 
    MyBase.Execute("moz-install-web-ext", params) 
End Sub 

End Class