arquillian @Drone注射总是返回“about:blank”页面

时间:2014-02-21 11:30:42

标签: maven jsf jboss integration-testing jboss-arquillian

我现在遇到这个问题2天了,我倾向于认为我配置中的某些内容已关闭。我将首先发布我的代码,然后解释:

public class MyTest extends Arquillian {

@Deployment(name = "MyPlatform", testable = false)
public static WebArchive createDeployment() {

    WebArchive war;
    war = ShrinkWrap
            .create (WebArchive.class, "MyPlatform.war")
            .merge (Maven
                   .resolver()
                   .loadPomFromFile("pom.xml")
                   .resolve("MyPlatform:My.Platform:war:0.0.1-SNAPSHOT")
                   .withoutTransitivity()
                   .asSingle(WebArchive.class));
    return war;
}


@Drone
private PhantomJSDriver browser;

@ArquillianResource
private URL deploymentUrl;

@Test(dataProvider = Arquillian.ARQUILLIAN_DATA_PROVIDER) 
@RunAsClient
public void should_login_successfully(@InitialPage LoginPage loginPage) {
    System.out.println ("ACTUAL: " + browser.getCurrentUrl ());
    System.out.println ("DEPLOYMENT URL: " + deploymentUrl.toExternalForm ());
    loginPage.login ("demo", "demo");

    Assert.assertEquals (deploymentUrl.toExternalForm () + "index.tm", "https://127.0.0.1:8443/MyPlatform/index.tm");
}

@ArquillianResource注入工作正常,并显示正确的URL。然而@Drone注射显示“about:blank”。经过一些测试,我发现了一些奇怪的东西:

如果我的war文件被称为MyPlatform.blabla.war之类的东西,那么Drone在第一个“dot”之后转换,我得到“http://127.0.0.1:8080/MyPlatform/login.tm”这不是我部署的...所以由于某种原因@Drone总是转发我的部署URL,似乎无法找到它的根源。

这是我的POM以防万一

        <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-api-maven</artifactId>
        <version>2.0.1</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.jboss.shrinkwrap</groupId>
        <artifactId>shrinkwrap-api</artifactId>
        <version>1.2.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.jboss.arquillian.protocol</groupId>
        <artifactId>arquillian-protocol-servlet</artifactId>
        <version>1.1.2.Final</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.jboss.shrinkwrap</groupId>
        <artifactId>shrinkwrap-impl-base</artifactId>
        <version>1.2.0</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.jboss.shrinkwrap.resolver</groupId>
        <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
        <version>2.0.1</version>
        <scope>test</scope>
    </dependency>


    <dependency>
        <groupId>org.jboss.arquillian</groupId>
        <artifactId>arquillian-bom</artifactId>
        <version>1.1.2.Final</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.extension</groupId>
        <artifactId>arquillian-drone-bom</artifactId>
        <version>1.2.0.Final</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>

    <dependency>
        <groupId>org.jboss.arquillian.graphene</groupId>
        <artifactId>graphene-webdriver</artifactId>
        <version>2.0.1.Final</version>
        <type>pom</type>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.graphene</groupId>
        <artifactId>graphene-webdriver-spi</artifactId>
        <version>2.0.1.Final</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.graphene</groupId>
        <artifactId>graphene-webdriver-impl</artifactId>
        <version>2.0.1.Final</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.jboss.as</groupId>
        <artifactId>jboss-as-arquillian-container-remote</artifactId>
        <version>7.1.1.Final</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.3.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.testng</groupId>
        <artifactId>arquillian-testng-container</artifactId>
        <version>1.1.2.Final</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>bsh</groupId>
        <artifactId>bsh</artifactId>
        <version>2.0b4</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.3.1</version>
        <scope>test</scope>
    </dependency>

如果有人可以帮助我解决这个问题,我会很高兴。!

1 个答案:

答案 0 :(得分:0)

典型的,在我发布问题之后我发现了问题,而且只是我的应用程序运行在SSL上并且phantomjs没有从8080重定向 - &gt; 8443 ...

现在要弄清楚如何做到这一点......