Arquillian Drone完全忽略Before Before BeforeClass AfterClass注释

时间:2013-03-06 15:58:31

标签: webdriver jboss-arquillian

我正在尝试使用Arquillian Drone来推动我的测试,但出于某种原因注释@Before@After@BeforeClass和{{1}完全被忽略

我是Java / jUnit / Arquillian环境的新手(一直使用Python),所以我可能会在这里犯一些愚蠢的错误。

@AfterClass

arquillian.xml:

import org.jboss.arquillian.drone.api.annotation.Drone;
import org.jboss.arquillian.junit.Arquillian;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;


import com.eyereturn.warlock.client.pages.login.LoginPage;

@RunWith(Arquillian.class)
public class TestDroneLogin {

    @Drone
    private WebDriver driver;

    @Before
    public void setup(){
        driver.navigate().to("http://google.com");
    }

    @Test
    public void testInput(){
        driver.findElement(By.cssSelector("input#gbqfq"));
    }
}

的pom.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="browserCapabilities">chrome</property>
    </extension>

</arquillian>

1 个答案:

答案 0 :(得分:5)

看起来这是Arquillian Standalone版本的持续问题。

该错误已开放here但自2012年8月14日以来未受到任何关注

解决方法是在pom.xml中使用“Arquillian JUnit Container”版本而不是“Arquillian JUnit Standalone”:

    <!-- Arquillian JUnit Container -->
    <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>1.0.3.Final</version>
        <scope>test</scope>
    </dependency>

这似乎对我有用。

注意:使用@BeforeClass Drone时,请注意this bug