【问题标题】:Selenium 2 Firefox Profile Change LocationSelenium 2 Firefox 配置文件更改位置
【发布时间】:2013-02-14 00:12:25
【问题描述】:

几周以来,我一直在环顾四周,但没有看到任何关于更改 Firefox 配置文件保存位置的信息。

我正在使用特定的 Firefox 配置文件,但是,当测试运行时,会话是在 /tmp/ 中创建的。我希望会话在不同的位置启动,并将它使用的文件保存在如下位置:/var/tmp/。有没有办法做到这一点?

注意:这不是关于我在哪里让 RemoteWebDriver 使用特定 Firefox 配置文件的问题。

编辑:我正在使用 Selenium 2.28 和 Firefox 15.0.1

【问题讨论】:

    标签: selenium selenium-webdriver selenium-grid selenium-firefoxdriver remotewebdriver


    【解决方案1】:

    FirefoxProfile:442

    File profileDir = TemporaryFilesystem.getDefaultTmpFS()
              .createTempDir("anonymous", "webdriver-profile");
    copyModel(model, profileDir);
    

    TemporaryFilesystem 采用it's location from "java.io.tmpdir":,通常指向系统的临时目录。由于这条线,Santoshsarma 的解决方案将起作用(但它也会移动您的操作系统临时目录)。

    private static File sysTemp = new File(System.getProperty("java.io.tmpdir"));
    

    我们可以做得更多!看public方法setTemporaryDirectory

    您可以在实例化您的 FirefoxDriver 之前调用此方法,它应该在您指定的位置创建它的配置文件副本。

    【讨论】:

    • 太好了,正是我想要的。非常感谢。
    【解决方案2】:

    Firefox 使用操作系统临时文件位置来存储临时文件

    如果您想为临时文件使用其他位置,则需要在 Windows 的控制面板中更改临时文件的位置。

    您可以更改 %TEMP% 和 %TMP% 环境变量,并使它们指向您要使用的临时文件夹。

    Control Panel > System > Advanced > Environment variables
    

    参考:Firefox Support

    【讨论】:

    • 虽然这些陈述是真实的并且您的建议可能会有所帮助,但原因完全不同。 WebDriver 制作您正在使用的 firefox 配置文件的临时副本 - 并将其保存到系统临时目录中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    相关资源
    最近更新 更多