0

亲爱的 Selenium Webdriver 大师,

我进行了以下 Firefox 配置文件设置更改,以尝试在使用 Selenium Webdriver 2 启动 Firefox 时拾取 FireBug:

public static void main(String[] args) 
{
    File fireBugFile = new File("C:/selenium-ide-1.9.0.xpi");
    FirefoxProfile firefoxProfile = new FirefoxProfile();
    firefoxProfile.addExtension(fireBugFile);
    firefoxProfile.setPreference("network.proxy.type", 1);
    firefoxProfile.setPreference("network.proxy.http", "proxyserver");
    firefoxProfile.setPreference("network.proxy.http_port", "80");
    firefoxProfile.setPreference("extensions.firebug.currentVersion", "1.9.0");

    String urlStrProxy = "http://www.example.com/",
    proxy = "proxyserver",
    port = "80",
    username = "jack",
    password = "XXXXXXX";

    Authenticator.setDefault(new SimpleAuthenticator(username,password));
    Properties systemProperties = System.getProperties();
    systemProperties.setProperty("http.proxyHost",proxy);
    systemProperties.setProperty("http.proxyPort","80");

    WebDriver driverMainPage = new FirefoxDriver(firefoxProfile);
}

public class SimpleAuthenticator extends Authenticator
{
   private String username, password;

   public SimpleAuthenticator(String username,String password)
   {
       this.username = username;
       this.password = password;
   }

   protected PasswordAuthentication getPasswordAuthentication()
   {
       return new PasswordAuthentication(username,password.toCharArray());
   }
}

还尝试在 Firefox 访问 www.abc.com 时未成功访问 www.abc.com 时,将代理设置和身份验证详细信息与附加语句包含在代理服务器中,而无需通过弹出屏幕手动输入:

还添加了“-Dhttp.proxyHost=proxyserver -Dhttp.proxyPort=80 -Dhttp.proxyUser=jack -Dhttp.proxyPassword=XXXXXXX”作为 JVM 选项。

我在 Windows XP 和 7 上运行 Java 7、Selenium 2.25.0、Netbeans 7.2。

没有一个搜索直接回答了这个问题。

任何帮助将不胜感激。

提前致谢,

杰克

4

2 回答 2

1

我想端口号应该是一个整数

firefoxProfile.setPreference("network.proxy.http_port", 80);

对于处理要求输入用户名和密码的弹出窗口,您可以使用autoit

于 2012-11-23T06:49:08.070 回答
0

根据提供的代码,提供了 selenium ide 而不是 firebug。看它

  File fireBugFile = new File("C:/selenium-ide-1.9.0.xpi");
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.addExtension(fireBugFile);

所以这可能是为什么火虫没有得到的问题.. 用正确的版本和火狐版本提供火虫的正确位置。

对于身份验证,以前我使用了以下一个而没有考虑 Firefox 配置文件。

driver.get("http://UserName:Password@Example.com");

并且还手动创建了 Firefox 配置文件并为配置文件完成了身份验证。我在执行中调用了这个配置文件,这种方式在 firefox 的情况下也很有效。

谢谢

于 2015-12-31T11:38:24.093 回答