Почему у вас должен быть метод развертывания в каждом классе? Я использую Arquillian для функционального тестирования с Drone и Graphene, и у меня есть один базовый класс с методом развертывания, инициализация Selenium Web Driver, несколько методов utils, и каждый мой тестовый класс просто расширяет этот класс и повторное использование моего экземпляра веб-драйвера.
Я не понимаю, почему это не должно работать в вашем случае (или даже без расширения базового класса).
Хорошо, вот как это выглядит
public class WebDriverTest extends Arquillian { //I am using TestNG
@Drone
protected WebDriver driver;
@ArquillianResource
private URL contextRoot;
@Deployment(testable = false) //functional tests cannot run in container
public static WebArchive createDeployment() {
File archive = new File("target/myApp.war");
ShrinkWrap.createFromZipFile(WebArchive.class, archive);
}
}
public class TestClass extends WebDriverTest {
@Test
public void test1() {}
@Test
public void test2() {}
}
Здесь все работает нормально. Также убедитесь, что у вас есть правильные зависимости Maven, они должны присутствовать для запуска функциональных тестов (затем сделать зависимость для всего, что вам нужно, из этих спецификаций)
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian.selenium</groupId>
<artifactId>selenium-bom</artifactId>
<version>${selenium.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>${arquillian-core.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-drone-bom</artifactId>
<version>${arquillian-drone.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
ИЗМЕНИТЬ
Итак, согласно этому JIRA, вы не увидите эту функцию в Arquillian до версии 2.0. .0.CR1. Так что код, который я упомянул выше, - лучшее, что вы можете получить прямо сейчас :-)
person
Petr Mensik
schedule
22.04.2013