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

时间:2017-02-22 08:47:02

标签: xml testing browser selenium-chromedriver jboss-arquillian

我正在尝试使用自定义参数和扩展来运行无人机(chromedriver)。但是我没有'能够正确配置arquillian.xml,以便浏览器在安装/配置它们的情况下运行。

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");

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

1 个答案:

答案 0 :(得分:1)

设置这些ChromeOptions属性的

使用与ChromeOptions类中定义的set / add方法名称相对应的特定参数(带前缀&#34; chrome&#34;)。 具体而言,您需要使用参数bundle.js 有关更多信息,请参阅 http://arquillian.org/blog/2016/09/14/arquillian-extension-drone-2-0-1-Final/

我还注意到您正在使用chromeArguments属性来设置webdriver的路径。如果您使用的是最新版本的Drone,则由于自动下载功能,您不需要这样做。它基本上下载了最新版本的chrome webdriver并将其缓存在您的主目录中。有关此功能的详细信息,请参阅:https://github.com/arquillian/arquillian-extension-drone/#automatic-download