0

Arquillian 1.1.6.Final正在JSF使用Arquillian Drone 2.0.0.Alpha3. 它工作得很好。但是,当我使用 进一步添加该功能时Arquillian Graphene 2.1.0.Alpha1,会出现异常

java.lang.NullPointerException
at org.jboss.arquillian.graphene.enricher.WebElementEnricher.enrich(WebElementEnricher.java:68)
at org.jboss.arquillian.graphene.enricher.GrapheneEnricher.enrich(GrapheneEnricher.java:55)
at org.jboss.arquillian.test.impl.TestInstanceEnricher.enrich(TestInstanceEnricher.java:52)

即使我恢复Arquillian Graphene为 version 2.0.3.Final,仍然抛出异常。这是我的pom.xml

<properties>
    <my.arquillian.drone.version>2.0.0.Alpha3</my.arquillian.drone.version>
    <my.arquillian.version>1.1.6.Final</my.arquillian.version>
    <!--my.arquillian.graphene.version>2.1.0.Alpha1</my.arquillian.graphene.version-->
    <my.arquillian.graphene.version>2.0.3.Final</my.arquillian.graphene.version>
    <my.arquillian.recorder.version>1.0.0.Beta1</my.arquillian.recorder.version>
    <my.arquillian.selenium.version>2.44.0</my.arquillian.selenium.version>
</properties>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.arquillian</groupId>
            <artifactId>arquillian-bom</artifactId>
            <version>${my.arquillian.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.selenium</groupId>
            <artifactId>selenium-bom</artifactId>
            <version>${my.arquillian.selenium.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
            <dependency>
                  <groupId>org.jboss.arquillian.extension</groupId>
                  <artifactId>arquillian-drone-bom</artifactId>
                  <version>${my.arquillian.drone.version}</version>
            <type>pom</type>
            <scope>import</scope>
            </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.jboss.arquillian.extension</groupId>
        <artifactId>arquillian-drone-webdriver-depchain</artifactId>
        <type>pom</type>
        <scope>test</scope>
    </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.graphene</groupId>
            <artifactId>graphene-webdriver</artifactId>
            <version>${my.arquillian.graphene.version}</version>
            <type>pom</type>
      <scope>test</scope>
        </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <scope>${my.project.dependency.test.scope}</scope>
        <exclusions>
            <exclusion>
                <artifactId>servlet-api-2.5</artifactId>
                <groupId>org.mortbay.jetty</groupId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

我的单元测试是

@RunWith(Arquillian.class)
public class DroneTest {

    @Drone
    private WebDriver browser;

    @Test
    @RunAsClient
    public void ensureIndexPage() {
        try{
            browser.get("http://www.google.com")
        } catch (Exception e){
            e.printStackTrace(); //<---- Exception in thrown here
        }
    }

}

如上所述,单元测试在没有Arquillian Graphene. 你能帮忙提供进一步的建议吗?

4

1 回答 1

0

我正在寻找另一个Arquillian Suite Extension而不是rhq-arquillian-suite-extension能够与Arquillian 1.1.6.Final, Arquillian Drone 2.0.0.Alpha3和一起使用的Arquillian Graphene 2.1.0.Alpha1。我发现ingwarsw/arquillian-suite-extension它对所有人都非常有用。

无论如何,这是一个已知问题,它不能Arquillian Warp作为issue-16使用。

如果我们想在code coverage没有的情况下实现这一点,JBoss 开发者论坛中提到Arquillian Warp的可能会有所帮助:如何从无人机测试中生成代码覆盖率报告Jacoco

于 2015-02-02T02:30:24.977 回答