如何在 arquillian.xml 中正确地向 ChromeDriver 添加配置文件和扩展程序

How to properly add a profile and extensions to ChromeDriver in arquillian.xml

我正在尝试 运行 使用自定义参数和扩展的无人机 (chromedriver)。但是我无法正确配置 arquillian.xml 以使浏览器 运行 与它们 installed/configured.

arquillian.xml:

   ...
  <extension qualifier="webdriver">
    <property name="browser">chrome</property>
    <property name="chromeDriverBinary">C:\path\to\chromedriver.exe</property>
    <property name="chromeArguments">user-data-dir=>C:\path\to\BrowserProfile</property>
    <property name="chromeExtensions">>C:\path\to\\ModHeader_v2.1.1.crx</property>
    <property name="chromePrintOptions">true</property>
  </extension>
</arquillian>

我错过了什么吗?如何让无人机加载配置文件和扩展程序?

我已经能够 运行 使用我的设置实例:

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options); 
ChromeDriver driver = new ChromeDriver(capabilities);

ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");

然而,这与无人机一起实例化了不同的浏览器。有没有办法将这些设置添加到无人机(在实例化之前)?

要设置这些 ChromeOptions 属性,请使用与 ChromeOptions class 中定义的 set/add 方法名称相对应的特定参数(带有前缀 "chrome")。 具体在你的情况下,你需要使用参数 chromeArguments 有关详细信息,请参阅: http://arquillian.org/blog/2016/09/14/arquillian-extension-drone-2-0-1-Final/

我还注意到您正在使用 chromeDriverBinary 属性 设置网络驱动程序的路径。如果您使用的是最新版本的 Drone,则不需要这样做,因为它具有自动下载功能。它基本上会下载最新版本的 chrome webdriver 并将其缓存在您的主目录中。有关此功能的更多信息,请参阅:https://github.com/arquillian/arquillian-extension-drone/#automatic-download