Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium、Firefox和GeckoDriver_Java_Selenium_Selenium Webdriver_Automation_Geckodriver - Fatal编程技术网

Java Selenium、Firefox和GeckoDriver

Java Selenium、Firefox和GeckoDriver,java,selenium,selenium-webdriver,automation,geckodriver,Java,Selenium,Selenium Webdriver,Automation,Geckodriver,我有一个问题和一个问题 问题: 通过使用Selenium 3.4.0,Firefox的最新版本是什么,它不需要GeckoDriver来运行测试。因为使用Firefox45,我可以在没有GeckoDriver的情况下运行测试,尽管我认为这是必需的 问题: 我正在尝试使用Firefox最新版本53.0、Selenium 3.4.0和GeckoDriver 0.16.0 我将Firefox设置为路径。在这个类中,我设置Gecko的路径属性如下: ,堆栈跟踪: 1493481035911 gecko

我有一个问题和一个问题

问题
通过使用Selenium 3.4.0,Firefox的最新版本是什么,它不需要GeckoDriver来运行测试。因为使用Firefox45,我可以在没有GeckoDriver的情况下运行测试,尽管我认为这是必需的

问题
我正在尝试使用Firefox最新版本53.0、Selenium 3.4.0和GeckoDriver 0.16.0
我将Firefox设置为路径。在这个类中,我设置Gecko的路径属性如下: ,堆栈跟踪:

1493481035911   geckodriver INFO    Listening on 127.0.0.1:32281 1493481036538  geckodriver::marionette INFO    Starting browser \\?\C:\Program Files (x86)\Mozilla Firefox\firefox.exe with args ["-marionette"] 1493481037661 addons.manager  ERROR   startup failed: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIFile.create]"  nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)"  location: "JS frame :: resource://gre/modules/FileUtils.jsm :: FileUtils_getDir :: line 70"  data: no] Stack trace: FileUtils_getDir()@resource://gre/modules/FileUtils.jsm:70 < FileUtils_getFile()@resource://gre/modules/FileUtils.jsm:42 < validateBlocklist()@resource://greJav/amSocdruilpets /eArdrdoorn:M arnageers.ojusrmc:e6:7/1/ g<r es/tmaordtuulpe(s)/@ArdedsoonuMracnea:g/e/rg.rjes/mm,o dluilnees /1A6d5d7o:n MNaSn_aEgReRrO.Rj_sNmO:T_INIT8I3A4L I<Z EsDt:a rAtdudpo(n)M@arneasgoeurr cies: /n/ogtr ei/nmiotdiualleized
s/AddonManager.jsm:3129 < observe()@resource://gre/components/addonManager.js:65
[GFX1]: Potential driver version mismatch ignored due to missing DLLs 0.0.0.0 and 0.0.0.0
1493481041925   Marionette  INFO    Listening on port 54083
JavaScript error: resource://gre/modules/AddonManager.jsm, line 2570: NS_ERROR_NOT_INITIALIZED: AddonManager is not initialized
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{marionette=true, browserName=firefox, moz:firefoxOptions=org.openqa.selenium.firefox.FirefoxOptions@150c158, version=, platform=ANY, firefox_profile=org.openqa.selenium.firefox.FirefoxProfile@4524411f}], required capabilities = Capabilities [{}]
Build info: version: 'unknown', revision: '8c03df6', time: '2017-03-02 09:30:17 -0800'
System info: host: 'DESKTOP-HUOROU4', ip: '192.168.43.167', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_121'
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:604)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:244)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:293)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:272)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:267)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:130)
    at Test.main(Test.java:11)

1493481035911 geckodriver信息监听127.0.0.1:32281 1493481036538 geckodriver::木偶网信息启动浏览器\\?\C:\Program Files(x86)\Mozilla Firefox\Firefox.exe,带args[“-marionete”]1493481037661插件。管理器错误启动失败:[异常…”组件返回失败代码:0x80070057(NS_错误非法值)[nsfile.create]“nsresult:”0x80070057(NS_错误非法值)”位置:“JS帧::resource://gre/modules/FileUtils.jsm ::FileUtils_getDir::第70行“数据:否]堆栈跟踪:FileUtils_getDir()@resource://gre/modules/FileUtils.jsm:70 
  • 通过使用Selenium 3.4.0,最新版本的Firefox不需要GeckoDriver来运行测试
    -使用Selenium 3.4.0,您可以使用Mozilla Firefox 47.x而不需要gecko驱动程序。从Mozilla Firefox 47.x开始,gecko驱动程序是必需的

  • 在Selenium 3.4.0、geckodriver v0.16.1和Mozilla Firefox 53.0中,这段代码运行良好:

    System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
    DesiredCapabilities dc = DesiredCapabilities.firefox();
    dc.setCapability("marionette", true);
    WebDriver driver =  new FirefoxDriver(dc);
    driver.get("http://google.com/");
    
  • 此外,如果您在默认Firefox配置文件中使用任何扩展,您需要禁用/删除它们,或者为您的自动化工作创建一个新的Firefox配置文件


    让我知道这是否对您有帮助。

    让我试着逐一回答您的问题:

  • 通过使用Selenium 3.4.0,最新版本的Firefox不需要GeckoDriver来运行测试
    -使用Selenium 3.4.0,您可以使用Mozilla Firefox 47.x而不需要gecko驱动程序。从Mozilla Firefox 47.x开始,gecko驱动程序是必需的

  • 在Selenium 3.4.0、geckodriver v0.16.1和Mozilla Firefox 53.0中,这段代码运行良好:

    System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe");
    DesiredCapabilities dc = DesiredCapabilities.firefox();
    dc.setCapability("marionette", true);
    WebDriver driver =  new FirefoxDriver(dc);
    driver.get("http://google.com/");
    
  • 此外,如果您在默认Firefox配置文件中使用任何扩展,您需要禁用/删除它们,或者为您的自动化工作创建一个新的Firefox配置文件


    让我知道这是否对您有帮助。

    相同的错误。我甚至将驱动程序的位置更改为与您相同的位置。我使用更大的堆栈跟踪编辑我的帖子。@R.Ro您是否在默认的Firefox配置文件中使用任何扩展?如果是,您需要禁用它们或为您的自动化工作创建新的Firefox配置文件。问题似乎在BeforeMethodo中d注释。这在代码中的什么位置?由于信息不正确,我不得不否决这个答案。Selenium的所有3.x版本都支持在不使用geckodriver的情况下运行Firefox 47。在3.x中这样做需要设置一个附加功能,但这是完全可能的。
    木偶
    功能必须设置为
    false
    使用旧版驱动程序。事实上,将其设置为
    true
    正是WebDriver使用geckodriver的原因。同样的错误。我甚至将驱动程序的位置更改为与您相同的位置。我用更大的堆栈跟踪编辑了我的帖子。@R.Ro您在默认Firefox配置文件中使用了任何扩展吗?如果是,您需要禁用或禁用它们为您的自动化工作创建一个新的Firefox配置文件。问题似乎在BeforeMethod注释中。该注释在您的代码中位于何处?由于信息不正确,我不得不对这个答案投反对票。Selenium的所有3.x版本都支持在不使用geckodriver的情况下运行Firefox 47。在3.x中这样做需要将附加功能设置为do是这样,但这是完全可能的。
    木偶
    功能必须设置为
    false
    才能使用旧版驱动程序。事实上,将其设置为
    true
    正是告诉WebDriver使用geckodriver的原因。不要将图像用于代码…只需将代码粘贴到问题中不要将图像用于代码…只需将代码粘贴到问题中即可激动