Java webdriver.chrome.driver的确切含义是什么?此系统属性位于何处?
使用selenium启动web浏览器时,必须设置系统属性 我想知道Java webdriver.chrome.driver的确切含义是什么?此系统属性位于何处?,java,selenium,selenium-webdriver,automated-tests,Java,Selenium,Selenium Webdriver,Automated Tests,使用selenium启动web浏览器时,必须设置系统属性 我想知道webdriver.ie.driver,webdriver.chrome.driver的含义是什么,以及这个键值的位置 我在初始化之前设置了路径 System.setProperty("webdriver.ie.driver", "C:\\driver\\IEDriverServer.exe"); WebDriver driver = new InternetExplorerDriver(); 我只是想知道Webdriver.
webdriver.ie.driver
,webdriver.chrome.driver
的含义是什么,以及这个键值的位置
我在初始化之前设置了路径
System.setProperty("webdriver.ie.driver", "C:\\driver\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
我只是想知道
Webdriver.ie.driver
?ChromeDriver是Webdriver用来控制Chrome的一个单独的可执行文件。它由Chromium团队在WebDriver贡献者的帮助下进行维护。如果您不熟悉WebDriver,请执行以下操作:
按照以下步骤设置使用ChromeDriver运行的测试:
确保Chrome/Google Chrome安装在可识别的位置
ChromeDriver希望您在平台的默认位置安装Chrome。您还可以通过设置特殊功能强制ChromeDriver使用自定义位置。
在本网站的下载部分下载您平台的ChromeDriver二进制文件
帮助WebDriver查找下载的ChromeDriver可执行文件
这些步骤中的任何一个都可以做到:
在PATH环境变量中包括ChromeDriver位置
(仅限Java)通过webdriver.chrome.driver系统属性指定其位置(参见下面的示例)
(仅限Python)在实例化webdriver.Chrome时包含ChromeDriver的路径(参见下面的示例)
下面是selenium软件包中的参考,其中将使用该值
/**
* System property that defines the location of the chromedriver executable that will be used by
* the {@link #createDefaultService() default service}.
*/
public static final String CHROME_DRIVER_EXE_PROPERTY = "webdriver.chrome.driver";
ChromeDriver是WebDriver用来控制Chrome的一个单独的可执行文件。它由Chromium团队在WebDriver贡献者的帮助下进行维护。如果您不熟悉WebDriver,请执行以下操作: 按照以下步骤设置使用ChromeDriver运行的测试: 确保Chrome/Google Chrome安装在可识别的位置 ChromeDriver希望您在平台的默认位置安装Chrome。您还可以通过设置特殊功能强制ChromeDriver使用自定义位置。 在本网站的下载部分下载您平台的ChromeDriver二进制文件 帮助WebDriver查找下载的ChromeDriver可执行文件 这些步骤中的任何一个都可以做到: 在PATH环境变量中包括ChromeDriver位置 (仅限Java)通过webdriver.chrome.driver系统属性指定其位置(参见下面的示例) (仅限Python)在实例化webdriver.Chrome时包含ChromeDriver的路径(参见下面的示例) 下面是selenium软件包中的参考,其中将使用该值
/**
* System property that defines the location of the chromedriver executable that will be used by
* the {@link #createDefaultService() default service}.
*/
public static final String CHROME_DRIVER_EXE_PROPERTY = "webdriver.chrome.driver";
Selenium code通过JSON wire协议与InternetExplorerDriver进行交互,然后InterentExplorerDriver将进一步与Internet Explorer浏览器进行通信。所以基本上,IE驱动程序将充当selenium代码和IE浏览器之间的桥梁
System.setProperty
位于您的系统类中setProperty
是一种静态字符串方法,您可以在其中基于键值对存储值
“System.setProperty(“propertyName”、“value”)
”正是它所说的。也就是说,它将系统属性“propertyName
”设置为具有值“value
”
在Selenium中,您使用此方法是因为浏览器没有内置的可执行文件来运行自动化代码,因此您需要一个Chrome/IE/Gecko(根据需要)驱动程序服务器来将Selenium代码传输到浏览器。
简单地说,要设置相应浏览器的驱动程序路径,需要使用system.setProperty
。例如
System.setProperty("webdriver.ie.driver", "Path of your Driver");
WebDriver driver = new InternetExplorerDriver();
driver.get("http://seleniumhq.com");
这将使用Internet Explorer驱动程序在Internet Explorer中启动selenium官方网站,其中驱动程序的初始化由system.setproperty
方法处理
在初始化驱动程序的任何测试方法之前,这必须是在selenium脚本中执行的第一行代码。selenium代码通过JSON wire协议与InternetExplorerDriver
交互,然后InterenteExplorerDriver将进一步与Internet Explorer浏览器通信。所以基本上,IE驱动程序将充当selenium代码和IE浏览器之间的桥梁
System.setProperty
位于您的系统类中setProperty
是一种静态字符串方法,您可以在其中基于键值对存储值
“System.setProperty(“propertyName”、“value”)
”正是它所说的。也就是说,它将系统属性“propertyName
”设置为具有值“value
”
在Selenium中,您使用此方法是因为浏览器没有内置的可执行文件来运行自动化代码,因此您需要一个Chrome/IE/Gecko(根据需要)驱动程序服务器来将Selenium代码传输到浏览器。
简单地说,要设置相应浏览器的驱动程序路径,需要使用system.setProperty
。例如
System.setProperty("webdriver.ie.driver", "Path of your Driver");
WebDriver driver = new InternetExplorerDriver();
driver.get("http://seleniumhq.com");
这将使用Internet Explorer驱动程序在Internet Explorer中启动selenium官方网站,其中驱动程序的初始化由system.setproperty
方法处理
在初始化驱动程序的任何测试方法之前,这必须是selenium脚本中需要执行的第一行代码。为什么在脚本中使用WebDriver driver=new FirefoxDriver()
,请参见下文
以下是基于上图的几点
-SearchContext是selenium中最高级的接口,由另一个称为WebDriver的接口扩展
-SearchContext和WebDriver接口的所有抽象方法都在RemoteWebDriver类中实现
-所有与浏览器相关的类,如FirefoxDriver、ChromeDriver等,都扩展了RemoteWebdriver类