Selenium 使用带有硒网格的Arquillian无人机

Selenium 使用带有硒网格的Arquillian无人机,selenium,functional-testing,selenium-grid,jboss-arquillian,arquillian-drone,Selenium,Functional Testing,Selenium Grid,Jboss Arquillian,Arquillian Drone,我已经使用Arquillian Done为基于web的应用程序创建了一套功能UI测试,我希望在Selenium网格上运行这些测试,而不是在本地运行它们 我遇到的问题是,尽管在arquillian.xml文件中设置了Selenium hub服务器的主机/端口详细信息,但UI测试是在本地执行的,而不是在其中一个Selenium节点上执行的。我甚至尝试输入不存在的主机的详细信息,但测试仍然在本地运行,并且没有生成错误消息。似乎无人机正在忽略arquillian.xml文件中的配置 我在arquilli

我已经使用Arquillian Done为基于web的应用程序创建了一套功能UI测试,我希望在Selenium网格上运行这些测试,而不是在本地运行它们

我遇到的问题是,尽管在
arquillian.xml
文件中设置了Selenium hub服务器的主机/端口详细信息,但UI测试是在本地执行的,而不是在其中一个Selenium节点上执行的。我甚至尝试输入不存在的主机的详细信息,但测试仍然在本地运行,并且没有生成错误消息。似乎无人机正在忽略
arquillian.xml
文件中的配置

我在
arquillian.xml
文件中的配置是否有问题,或者是否有其他问题?不幸的是,关于在Selenium Grid中使用Arquillian无人机的文档似乎很少

arquillian.xml
文件的内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<arquillian xmlns="http://jboss.org/schema/arquillian"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">

  <extension qualifier="webdriver">
    <property name="browser">${arquillian.browser}</property>
    <property name="remoteAddress">http://selenium-hub:4444</property>
  </extension>

   <extension qualifier="selenium-server">
     <property name="host">selenium-hub</property>
     <property name="port">4444</property>
     <property name="skip">true</property>
   </extension>

  <container qualifier="arquillian-glassfish-remote">
    <configuration>
      ...
    </configuration>
  </container>

</arquillian>

${arquillian.browser}
http://selenium-hub:4444
硒轮毂
4444
真的
...
My Maven pom.xml文件包含以下依赖项和依赖项管理部分:

<dependencies>
  <!-- Various Java EE and Internal Dependencies -->

  <!-- Test Dependencies -->
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.jboss.arquillian.junit</groupId>
    <artifactId>arquillian-junit-container</artifactId>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.jboss.arquillian.graphene</groupId>
    <artifactId>graphene-webdriver</artifactId>
    <version>2.0.3.Final</version>
    <type>pom</type>
    <scope>test</scope>
  </dependency>
</dependencies>

<dependencyManagement>
  <dependencies>
    <dependency>
        <groupId>org.jboss.arquillian</groupId>
        <artifactId>arquillian-bom</artifactId>
        <version>1.1.8.Final</version>
        <scope>import</scope>
        <type>pom</type>
    </dependency>
    <dependency>
      <groupId>org.jboss.arquillian.selenium</groupId>
      <artifactId>selenium-bom</artifactId>
      <version>2.46.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.arquillian.extension</groupId>
      <artifactId>arquillian-drone-bom</artifactId>
      <version>1.3.1.Final</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

朱尼特
朱尼特
4.12
测试
org.jboss.arquillian.junit
arquillian junit容器
测试
org.jboss.arquillian.graphene
石墨烯网络驱动器
2.0.3.1最终版本
聚甲醛
测试
org.jboss.arquillian
阿奎利安bom
1.1.8.最终版本
进口
聚甲醛
org.jboss.arquillian.selenium
硒物料清单
2.46.0
聚甲醛
进口
org.jboss.arquillian.extension
阿奎利安无人机
1.3.1.最终版本
聚甲醛
进口

似乎有两个问题阻碍了针对Selenium网格执行Arquillian无人机测试

第一个问题是,
arquillian.xml
文件的
webdriver
部分除了
remoteAddress
属性外,还需要包含
true
true
。如果没有
远程
远程可重用
,则测试将在本地运行

第二个问题是
remoteAddress
没有包含Selenium Grid hub服务器的完整URL。属性应设置为
http://selenium-hub:4444/wd/hub
。显然,
selenium-hub
需要设置为selenium-hub服务器的主机名。通过我通过浏览器访问此URL时,返回了一个
NullPointerException
,但这似乎是正常行为,因为正确访问URL时设置了其他参数

此外,
arquillian.xml
文件的
selenium服务器
部分似乎没有必要