Selenium 3.0 Firefx Driverがorg.openqa.Selenium.SessionNotCreatedExceptionで失敗する:新しいリモートセッションを作成できません。
System.setProperty("webdriver.gecko.driver", "..<Path>../geckodriver.exe");
capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
driver = new FirefoxDriver(capabilities);
Caused by: org.openqa.Selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{marionette=true, firefoxOptions=org.openqa.Selenium.firefox.FirefoxOptions@23aa363a, browserName=firefox, moz:firefoxOptions=org.openqa.Selenium.firefox.FirefoxOptions@23aa363a, version=, platform=ANY}], required capabilities = Capabilities [{}]
Build info: version: '3.0.0', revision: '350cf60', time: '2016-10-13 10:48:57 -0700'
System info: Host: 'D202540', ip: '10.22.19.193', os.name: 'Windows 7', os.Arch: 'AMD64', os.version: '6.1', Java.version: '1.8.0_45'
Driver info: driver.version: FirefoxDriver
at org.openqa.Selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.Java:91)
at org.openqa.Selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.Java:141)
at org.openqa.Selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.Java:82)
at org.openqa.Selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.Java:601)
at org.openqa.Selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.Java:241)
at org.openqa.Selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.Java:128)
at org.openqa.Selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.Java:259)
at org.openqa.Selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.Java:247)
at org.openqa.Selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.Java:242)
at org.openqa.Selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.Java:135)
この問題は、geckodriver 0.15およびSelenium 3.3バージョンで解決されます。
Geckodriverをダウンロードする必要があります。そして、設定
System.setProperty("webdriver.gecko.driver", "path\\to\\geckodriver.exe")
これを確認してください link 。
これはうまくいきました(Linuxミント、opensuse thumbleweed、win7)
libraryDependencies + = "org.seleniumhq.Selenium"% "Selenium-firefox-driver"% "3.0.1"
geckodriver.exe -V geckodriver 0.13.0
if (System.getProperty("os.name").toLowerCase().contains("linux")) {
println("загружены настройки os.name=linux")
System.setProperty("webdriver.chrome.driver", "bin/chromedriver")
System.setProperty("webdriver.gecko.driver", "bin/geckodriver")
}else{
System.setProperty("webdriver.chrome.driver", "bin\\chromedriver.exe")
System.setProperty("webdriver.gecko.driver", "bin\\geckodriver.exe")
System.setProperty("webdriver.ie.driver", "bin\\IEDriverServer.exe")
System.setProperty("webdriver.Edge.driver", "C:\\Program Files (x86)\\Microsoft Web Driver\\MicrosoftWebDriver.exe")
System.setProperty("webdriver.opera.driver", "c:\\XXX\\operadriver.exe")
System.setProperty("webdriver.opera.path","""C:\\Users\\user\\AppData\\Local\\Programs\\Opera""")
System.setProperty("webdriver.opera.binary","""C:\\Users\\user\\AppData\\Local\\Programs\\Opera\\launcher.exe""")
//
}
...
case
"firefox" => {
println(" подгружаем Веб-драйвер: geckodriver")
//iniprofile = new ProfilesIni()
//ffprofile = iniprofile.getProfile("default")
dc = DesiredCapabilities.firefox()
dc.setCapability("gecko", true) // как выйдет драйвер, так и установить
// dc.setCapability(FirefoxDriver.PROFILE, ffprofile); //FirefoxDriver.PROFILE = “firefox_profile”;
remote = new FirefoxDriver(dc)
}
ただし、Remotewebdriver-connectionの場合、前のセッションが失敗、キャンセル、または中止された場合、エラーが発生します。
[info] XXXX.E011_WebDB6292 *** ABORTED ***
[info] org.openqa.Selenium.SessionNotCreatedException: Session is already started (WARNING: The server did not provide any stacktrace information)
[info] Command duration or timeout: 0 milliseconds
[info] Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:49:13 -0700'
[info] System info: Host: 'XXXX', ip: '172.16.4.125', os.name: 'Windows 7', os.Arch: 'AMD64', os.version: '6.1', Java.version: '1.8.0_11'
[info] Driver info: driver.version: RemoteWebDriver
[info] at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
今日、私は同じ問題にぶつかりました。そして、私のラップトップで管理者でないことは実際問題ですと思われます。解決するには
Exeパスを使用します(私のシステムではC:\\Users\\MyUserName\\AppData\\Local\\MozillaFirefox\\firefox.exe
)。
実際に問題を解決しました。
ここで同じ問題。管理者権限でEclipse/Netbeansを開くと解決しました。
私は同じ問題を抱えていて、これで修正しました。 firefoxバイナリが見つからなかったようです
capabilities.setCapability("firefox_binary","C:\\Program Files\\Mozilla Firefox\\firefox.exe");