2017-07-05 16 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