5

我有一个非常奇怪的错误。我写了一个 JSF 网页。如果我在 Firefox 中手动测试,该页面将按预期运行。但是,如果我尝试使用 Selenium(FireFoxDriver) 测试该站点,则该站点在第一次单击链接后会丢失其 CSS 文件。如果我用 Cmd+F5 刷新站点和缓存,CSS 文件会再次出现在这个 Firefox 窗口中。我不知道问题出在哪里。有没有人已经遇到过这个问题或任何想法?

4

2 回答 2

4

遇到了同样的问题,就这样解决了。

public static void initialise(){
    FirefoxProfile newProfile = new FirefoxProfile();
    newProfile.setPreference("browser.cache.disk.enable", false);
    Instance = new FirefoxDriver(newProfile);           
}
于 2013-11-20T10:08:40.990 回答
2

这也发生在我身上。虽然我不知道它到底为什么会发生,但当我切换到 chromedriver 26.0.1383.0 时它就消失了

https://code.google.com/p/selenium/wiki/ChromeDriver

我不希望这听起来像是 Google chrome 的广告,但我确实注意到在 chrome 而不是 firefox 上运行我的测试套件时速度显着提高。

如果您决定使用 firefox 或不想切换,我会尝试通过以下方式禁用缓存:

1-使用 firefox.exe -ProfileManager 创建一个新的配置文件

2-转到 Firefox 配置文件目录并将以下内容添加到 prefs.js:

user_pref("browser.cache.disk.enable", false);
user_pref("browser.cache.memory.enable", false);
user_pref("browser.cache.offline.enable", false);
user_pref("network.http.use-cache", false);

然后告诉 selenium 使用这个配置文件

ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("Selenium");
FirefoxDriver browser = new FirefoxDriver(profile);
于 2013-07-09T00:06:13.037 回答