【问题标题】:Selenium WebDriver + Firefox which version works fine?Selenium WebDriver + Firefox 哪个版本运行良好?
【发布时间】:2016-02-08 12:38:32
【问题描述】:

我正在编写一个自动化脚本来测试网站登录。通过 Firefox IDE,我编写了 TestCase 步骤,它执行得很好。我将测试用例导出为与 jUnit 4 兼容的 java 代码。

当我尝试通过 Eclipse(使用 firefox 浏览器)运行 java 代码时,它会打开 Mozilla 主页或空白页面或代理问题(如果我的机器连接到公司 LAN)。

我正在使用 Selenium 2.44 和 Firefox 版本 44.. 我还在一些网站上读到了有关与 selenium web 驱动程序兼容的 firefox 版本。我对此感到很困惑。

请告诉我首选哪个版本的 Selenium Web 驱动程序、Firefox 和 Java..!!!

在下面添加我的java代码

public class Firefox {
private WebDriver driver;
private String PROXY = "proxy address:port";
private String baseUrl;
private boolean acceptNextAlert = true;
@Before
public void setUp() throws Exception {
// Code for setting up Firefox proxy
Proxy proxy = new org.openqa.selenium.Proxy();
proxy.setHttpProxy(PROXY)
.setFtpProxy(PROXY)
.setSslProxy(PROXY);
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(CapabilityType.PROXY, proxy);
driver = new FirefoxDriver(cap);
baseUrl = "url";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testFirefox() throws Exception {
driver.get(baseUrl);
for (int second = 0;; second++) {
if (second >= 60) fail("timeout");
try { 
if ("".equals(driver.findElement(By.id("userId")).getText())) break; 
}
catch (Exception e) {}
Thread.sleep(1000);
}
driver.findElement(By.id("userId")).sendKeys("user name");
driver.findElement(By.id("pwd")).sendKeys("password");
driver.findElement(By.id("sign-in")).click();
}
}

【问题讨论】:

  • 显示您的代码,您在公司局域网中使用代理服务器吗?
  • '代理 proxy = new org.openqa.selenium.Proxy(); proxy.setHttpProxy(proxyadrs) .setFtpProxy(proxyadrs) .setSslProxy(proxyadrs); DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability(CapabilityType.PROXY,代理); driver = new FirefoxDriver(cap);'
  • 这是我正在使用的代码.. 但这永远不会改变 firefox 代理的详细信息。 firefox 总是指向系统设置..
  • 我看到 Selenium 2.44 的更新日志显示 * Updating Native events to support Firefox 24, 31, 32 and 33,所以你可能应该使用最新版本的 Selenium
  • 在 Selenium 2.51 的更新日志中提到的 Firefox 的最新版本是 39。所以试试 Selenium 2.51 和 Firefox v. 39

标签: java eclipse junit4 selenium-firefoxdriver


【解决方案1】:

我发现并使用它的最新稳定兼容配置是 selenium Webdriver 2.48.2 和 Firefox 41.0.2

【讨论】:

  • 现在我有一个新问题,为 firefox 设置代理..Proxy proxy = new org.openqa.selenium.Proxy(); proxy.setHttpProxy(PROXY) .setFtpProxy(PROXY) .setSslProxy(PROXY) .setSocksProxy(PROXY);
  • 这填写了 Firefox 中的代理详细信息,但我仍然无法通过 Firefox 访问互联网。我需要自动检查“使用此代理服务器进行所有协议”选项。有没有选择这样做?
  • 这对你不起作用吗..proxy.setProxyAutoconfigUrl(proxyAutoconfigUrl)
  • 此代码使用提供的代理值选择“自动代理配置 URL”选项。但我想选择“手动代理配置”选项并选中“将此代理服务器用于所有协议”复选框。请帮助..我尝试了很多选项。但没有任何效果。
【解决方案2】:

https://www.mozilla.org/en-US/firefox/organizations/all/下载Firefox ESR

其稳定版浏览器Firefox兼容Webdriver 2.48.2。 Selenium WebDriver 2.48.2 不适用于 FF 44。

【讨论】:

    【解决方案3】:

    最新的 Firefox 总是与最新版本的 Selenium(2.x 版本)一起处理所有非原生事件,例如 JavascriptExecutor 事件,但也有一些原生事件(例如 driver.navigate.to() 和 driver .click() 将无法使用,除非使用最后一个已知的本机支持版本的 Firefox,即 31.6.0 ESR。更高版本的 ESR 可能会起作用,但我没有在任何地方读过。

    【讨论】:

      猜你喜欢
      • 2019-09-30
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 2021-05-10
      • 2012-09-27
      • 2018-01-25
      • 2016-08-13
      • 2016-01-06
      相关资源
      最近更新 更多