【发布时间】:2015-03-03 23:24:03
【问题描述】:
嗨,我对 selenium 很陌生。所以请原谅我的任何技术错误。 我有一个适用于 IE 的项目。但我也需要使用 Firefox 进行测试。如果在 IE 中执行,项目是否需要指向像 IEDriver 这样的驱动程序的指针?
【问题讨论】:
-
您可能想稍微改进一下这个问题,即您做了什么,出了什么问题/发生了什么? (如果适用)
嗨,我对 selenium 很陌生。所以请原谅我的任何技术错误。 我有一个适用于 IE 的项目。但我也需要使用 Firefox 进行测试。如果在 IE 中执行,项目是否需要指向像 IEDriver 这样的驱动程序的指针?
【问题讨论】:
您只需要创建一个作为 Firefox 实例的 WebDriver,如下所示:
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
WebDriver driver = new FirefoxDriver();
【讨论】:
使用FireFox 进行测试可以直接使用driver = new FirefoxDriver() 或者您可以从this link 下载 ie 的 selenium 驱动程序并设置路径属性如下所述。
System.setProperty("webdriver.ie.driver", "pathToTheIEDriver");
WebDriver driver = new InternetExplorerDriver();
【讨论】:
import org.openqa.selenium.WebElement;//import this package
import org.openqa.selenium.By; //import this package
WebDriver FF_river = new FirefoxDriver();//create a reference variable of FirefoxDriver() int
【讨论】:
FirefoxDriver不需要设置驱动路径。
直接使用WebDriver driver = new FirefoxDriver();即可。
但是,还有其他方法可以在 Firefox 中运行 selenium,如下所示:
1-Using Firefox Profile;
用于在新的用户定义配置文件中运行 selenium,并根据需要使用一组首选项。
2-Using Firefox Binary;
[PS:- 关于它的工作原理没有太多想法,但这个链接可能会对你有所帮助]
【讨论】:
在我的环境中,我设置了属性 -Dwebdriver.firefox.bin="C:\Mozilla Firefox\firefox.exe"
【讨论】:
如果我们想运行 Firefox 的测试用例,那么我们需要 GeckoDriver。使用以下链接下载最新的 geckodriver:https://github.com/mozilla/geckodriver/releases
将驱动程序保存在项目存储库中的文件夹中(您可以为文件夹命名,我使用的是“BrowserDriver”)。使用以下代码调用驱动程序:
System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir")+"/BrowserDriver/Mac/geckodriver 2");
WebDriver driver = new FirefoxDriver();
【讨论】:
很多人在创建 geckodriver 或 firefox-driver 的路径时可能会遇到错误,按照这种方式很容易:
from selenium import webdriver
path = "home/sysname/Desktop/geckodriver"
driver = webdriver.Firefox(executable_path = path)
注意你必须写executable_path=path,然后给出路径变量名。
【讨论】: