栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Java的Selenium-驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Java的Selenium-驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置

Selenium
客户端绑定将尝试找到
geckodriver
从系统中可执行文件PATH。你将需要将包含可执行文件的目录添加到系统路径。

在Unix系统上,如果使用的是与bash兼容的shell,则可以执行以下操作将其附加到系统的搜索路径中:

export PATH=$PATH:/path/to/geckodriver

在Windows上,你需要更新Path系统变量以将完整目录路径添加到可执行文件。其原理与Unix相同。

使用任何编程语言绑定来启动最新的

firefox
的以下所有配置都适用于
Selenium2
显式启用
Marionette
。在Selenium 3.0及更高版本中,你不需要做任何事情来使用木偶,因为它是默认启用的。

要在测试中使用木偶,你将需要更新所需的功能才能使用它。

Java:

作为例外,很明显,你需要

geckodriver.exe
从此处下载最新版本,并g
eckodriver.exe
使用变量将系统中存在的已下载路径设置为具有变量的系统属性,
webdriver.gecko.driver
然后启动木偶驱动程序并启动
Firefox
,如下所示:

//if you didn't update the Path system variable to add the full directory path to the executable as above mentioned then doing this directly through preSystem.setProperty("webdriver.gecko.driver", "path/to/geckodriver.exe");//Now you can Initialize marionette driver to launch firefoxDesiredCapabilities capabilities = DesiredCapabilities.firefox();capabilities.setCapability("marionette", true);WebDriver driver = new MarionetteDriver(capabilities); 

并Selenium3用作:

WebDriver driver = new FirefoxDriver();

如果你仍然遇到问题,请也遵循此链接,这将帮助你解决问题

.NET:

var driver = new FirefoxDriver(new FirefoxOptions());

Python:

from selenium import webdriverfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiescaps = DesiredCapabilities.FIREFOX# Tell the Python bindings to use Marionette.# This will not be necessary in the future,# when Selenium will auto-detect what remote end# it is talking to.caps["marionette"] = True# Path to Firefox DevEdition or Nightly.# Firefox 47 (stable) is currently not supported,# and may give you a suboptimal experience.## On Mac OS you must point to the binary executable# inside the application package, such as# /Applications/FirefoxNightly.app/Contents/MacOS/firefox-bincaps["binary"] = "/usr/bin/firefox"driver = webdriver.Firefox(capabilities=caps)

Ruby :

# Selenium 3 uses Marionette by default when firefox is specified# Set Marionette in Selenium 2 by directly passing marionette: true# You might need to specify an alternate path for the desired version of FirefoxSelenium::WebDriver::Firefox::Binary.path = "/path/to/firefox"driver = Selenium::WebDriver.for :firefox, marionette: true

Javascript(Node.js):

const webdriver = require('selenium-webdriver');const Capabilities = require('selenium-webdriver/lib/capabilities').Capabilities;var capabilities = Capabilities.firefox();// Tell the Node.js bindings to use Marionette.// This will not be necessary in the future,// when Selenium will auto-detect what remote end// it is talking to.capabilities.set('marionette', true);var driver = new webdriver.Builder().withCapabilities(capabilities).build();

Using RemoteWebDriver

如果要以RemoteWebDriver任何语言使用,这将允许你Marionette在SeleniumGrid中使用。

Python:

caps = DesiredCapabilities.FIREFOX# Tell the Python bindings to use Marionette.# This will not be necessary in the future,# when Selenium will auto-detect what remote end# it is talking to.caps["marionette"] = Truedriver = webdriver.Firefox(capabilities=caps)

Ruby :

# Selenium 3 uses Marionette by default when firefox is specified# Set Marionette in Selenium 2 by using the Capabilities class# You might need to specify an alternate path for the desired version of Firefoxcaps = Selenium::WebDriver::Remote::Capabilities.firefox marionette: true, firefox_binary: "/path/to/firefox"driver = Selenium::WebDriver.for :remote, desired_capabilities: caps

Java:

DesiredCapabilities capabilities = DesiredCapabilities.firefox();// Tell the Java bindings to use Marionette.// This will not be necessary in the future,// when Selenium will auto-detect what remote end// it is talking to.capabilities.setCapability("marionette", true);WebDriver driver = new RemoteWebDriver(capabilities); 

.NET

DesiredCapabilities capabilities = DesiredCapabilities.Firefox();// Tell the .NET bindings to use Marionette.// This will not be necessary in the future,// when Selenium will auto-detect what remote end// it is talking to.capabilities.SetCapability("marionette", true);var driver = new RemoteWebDriver(capabilities); 

注意:与其他浏览器供应商提供给Selenium的其他驱动程序一样,Mozilla现在已经发布了一个可执行文件,它将与浏览器一起运行。请遵循此以获取更多详细信息。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/411016.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号