【发布时间】:2015-06-30 13:08:30
【问题描述】:
我正在尝试将 Selenium WebDriver 与 Eclipse 和 JUnit 以及 Firefox 浏览器一起使用来进行一系列链接测试。我遇到的问题是 Firefox 浏览器在新窗口中打开了一些链接。注意:这些不是警报。 我将浏览器设置为在同一个窗口中打开所有链接,如果我手动导航到所选链接,它会执行它应该做的事情。这些是目前默认浏览器的设置。
browser.link.open_newwindow; 1
browser.link.open_newwindow.disabled_in_fullscreen; true
browser.link.open_newwindow.override.external: 1
browser.link.open_newwindow.restriction; 2
当我在 Eclipse 中运行与 Eclipse 中的 JUnit 测试相同的东西时,链接会在新窗口中打开!
我注释掉了driver.close() 并检查了Eclipse 使用的浏览器,所有设置都不同。甚至还有另一个设置不在我的浏览器中。
browser.link.open_newwindow; 2
browser.link.open_newwindow.disabled_in_fullscreen; false
browser.link.open_newwindow.override.external: -1
browser.link.open_newwindow.restriction; 2
browser.link.open_external 2
如果我使用配置文件或强制它使用默认配置文件,则它使用的浏览器具有这些设置。
browser.link.open_newwindow; 2
browser.link.open_newwindow.disabled_in_fullscreen; true
browser.link.open_newwindow.override.external: 1
browser.link.open_newwindow.restriction; 2
browser.link.open_external 2
通过阅读以前的帖子,我了解到 Eclipse/Selenium/JUnit 将使用我 PC 上安装的默认浏览器。或者至少是默认浏览器配置文件
我的代码:
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
public class Pro2 {
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
ProfilesIni profile = new ProfilesIni();
FirefoxProfile ffprofile = profile.getProfile("default");
driver = new FirefoxDriver(ffprofile);
// driver = new FirefoxDriver();
baseUrl = "https://www.google.ie/";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
我的问题是:
- 是否使用不同的驱动程序(或驱动程序配置文件)?
- 如果是这样,我该如何设置配置设置,以便在当前窗口中打开所有链接?
【问题讨论】:
标签: java eclipse firefox selenium junit