我正在尝试使用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>
答案 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