2

我知道使用 selenium RC,我曾经通过命令行运算符... -firefoxProfileTemplate 并且可以。现在使用 Selenium2 (Webdriver),这似乎不再起作用了。

由于我正在使用 PHPUnit 进行其他测试,因此我想继续使用它。任何人都知道如何为它定义一个自定义的 Firefox 配置文件?

4

2 回答 2

1

这并没有明确回答上面的问题,但是,它确实有助于解决眼前的问题,因为我的 selenium 设置只会使用 1 个 Firefox 实例,而不会尝试即时加载它们。

话虽如此,这将对那里的大多数用户有所帮助,因此我将其作为“答案”放在这里,而不是选择它作为正确答案的原因。

在 github 上的 phpunit-selenium 问题队列中找到了答案。谢谢埃马克。

只需使用命令行选项加载您的 selenium 服务器

-Dwebdriver.firefox.profile=PROFILE_NAME

注意: PROFILE_NAME 是位于 Firefox 应用程序数据目录中的 profiles.ini 中的机器名称。这不是一条路径或什么不是。

于 2013-03-02T16:42:18.507 回答
0

假设您将php-webdriverFirefoxDriver一起使用。并且您想使用特定的 Firefox 配置文件启动 FirefoxDriver。(用于在每次 selenium 运行时保持登录并保存您的登录名和 cookie)

首先,找到包含您的 Firefox 配置文件数据的目录。对我来说,在 Win 10 上它是 C:/Users/MyWinProfile/AppData/Roaming/Mozilla/Firefox/Profiles/pivdau5sa.selen

之后使用这样的代码打开firefox php-webdriver:

namespace Facebook\WebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Firefox\FirefoxDriver;
use Facebook\WebDriver\Firefox\FirefoxOptions;
require_once('vendor/autoload.php');

$firefoxOptions = new FirefoxOptions();
$firefoxOptions->addArguments(['-profile', 'C:/Users/<MyUserName>/AppData/Roaming/Mozilla/Firefox/Profiles/pivdau5sa.selen']);
$capabilities = DesiredCapabilities::firefox();
$capabilities->setCapability(FirefoxOptions::CAPABILITY, $firefoxOptions);
putenv('WEBDRIVER_FIREFOX_DRIVER=C:\PHP\geckodriver.exe'); // you may dont need this line

$driver = FirefoxDriver::start($capabilities);
于 2022-02-10T14:42:53.637 回答