Arquillian无人机测试使用 @RunasClients侧测试方法和范围内测试方法运行使用NoclassDeffo



使用无人机和石墨烯的Arquillian指向功能测试说,可以"在同一测试中混合候选器和客户端模式"。我正在尝试运行这个小示例:

import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.container.test.api.RunAsClient;
import org.jboss.arquillian.container.test.api.TargetsContainer;
import org.jboss.arquillian.drone.api.annotation.Drone;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.junit.InSequence;
import org.jboss.arquillian.spring.integration.test.annotation.SpringWebConfiguration;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
import java.io.File;
@RunWith(Arquillian.class)
@SpringWebConfiguration
public class ClientAndContainerTest {
@Deployment
@TargetsContainer("process")
public static WebArchive createDeployment() {
    File warFile = new File("src/test/resources/webApp.war");
//        File[] testLibs = Maven.resolver().loadPomFromFile("pom.xml")
//                .resolve("org.seleniumhq.selenium:selenium-chrome-driver")
//                .withTransitivity().asFile();
    return ShrinkWrap
            .createFromZipFile(WebArchive.class, warFile)
//          .addAsLibraries(testLibs)
            ;
}
@Test
@InSequence(1)
public void testContainerSide() {
    // test some in-container stuff
}
@Drone
private WebDriver browser;
@Test
@InSequence(2)
@RunAsClient
public void testClientSide() {
    // Run some UI-tests
}
}

testclients((通过没有问题的情况。但是TestContainerside((以

运行
java.lang.NoClassDefFoundError: Lorg/openqa/selenium/WebDriver;
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.WebDriver

a在我添加对部署的传递性添加硒 - 铬驱动器依赖性(UNCOMENT the createPloyment(( - 方法中的线路(。但是我看不到将硒添加到容器范围内的重点,因为仅在客户端需要它。

有人可以告诉我为什么testContainerside((方法正在寻找org.openqa.selenium.webdriver?

我认为,唯一的解决方案是通过使用每个测试级为每个测试级,将UII/客户端测试与企业内测试分开。

如果您想在一个测试案例中使用这两种技术,则可以使用Arquillian-Suite扩展程序在单个部署中同时运行两个测试类。

最新更新