2015-12-21 3 views
2

Я новичок в Arquillian, и у меня есть некоторые проблемы с удаленным тестированием. Я пытаюсь провести дистанционное тестирование на Wildfly, используя Arquillian. Экземпляр My Wildfly можно найти на порту 8180, но он запускается на локальной виртуальной машине на внутреннем порту 8080. Я установил переадресацию портов с помощью Vagrant и VirtualBoxArquillian дистанционный тест на Wildfly

Когда я запустил свой тест из eclipse, я получил следующую ошибку:

java.lang.IllegalStateException: Error launching test playeraudio.repository.player.PlayerRepositoryTestCase public void playeraudio.repository.player.PlayerRepositoryTestCase.should_find_all_players() throws java.lang.Exception 
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.invoke(ServletMethodExecutor.java:103) 
at org.jboss.arquillian.container.test.impl.execution.RemoteTestExecuter.execute(RemoteTestExecuter.java:109) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145) 
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116) 
at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67) 
at org.jboss.arquillian.container.test.impl.execution.ClientTestExecuter.execute(ClientTestExecuter.java:57) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) 
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createContext(ContainerEventController.java:142) 
at org.jboss.arquillian.container.test.impl.client.ContainerEventController.createTestContext(ContainerEventController.java:129) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:130) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:92) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:73) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:483) 
at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94) 
at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) 
at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145) 
at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:136) 
at org.jboss.arquillian.junit.Arquillian$8.evaluate(Arquillian.java:363) 
at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:245) 
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:422) 
at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:54) 
at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:259) 
at org.jboss.arquillian.junit.Arquillian$7.evaluate(Arquillian.java:321) 
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:204) 
at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:422) 
at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:54) 
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:218) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) 
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:166) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 
Caused by: java.lang.IllegalStateException: Error launching request at http://0.0.0.0:8080/test/ArquillianServletRunner?outputMode=serializedObject&className=playeraudio.repository.player.PlayerRepositoryTestCase&methodName=should_find_all_players. No result returned 
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.executeWithRetry(ServletMethodExecutor.java:139) 
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.invoke(ServletMethodExecutor.java:99) 
... 76 more 

Любые подсказки, пожалуйста?

Это мой arquillian.xml файл:

<?xml version="1.0"?> 
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://jboss.org/schema/arquillian" 
    xsi:schemaLocation="http://jboss.org/schema/arquillian 
    http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> 


    <container qualifier="widlfly-remote" default="true"> 
     <configuration> 
      <property name="chameleonTarget">wildfly:8.2.1.Final:remote</property> 
      <property name="allowConnectingToRunningServer">true</property> 
      <property name="managementAddress">127.0.0.1</property> 
      <property name="managementPort">10090</property> 
      <property name="username">admin</property> 
      <property name="password">manager</property> 
      <property name="outputToConsole">true</property> 
     </configuration> 
    </container> 

    <container qualifier=""></container> 

    <extension qualifier="transaction"> 
     <property name="manager">java:jboss/UserTransaction</property> 
    </extension> 

    <extension qualifier="persistence"> 
     <property name="defaultDataSource">java:jboss/datasources/MySQLDS</property> 
    </extension> 

    <extension qualifier="persistence-script"> 
     <property name="scriptsToExecuteBeforeTest">SET REFERENTIAL_INTEGRITY FALSE</property> 
    </extension> 

    <extension qualifier="persistence-dbunit"> 
     <property name="datatypeFactory">org.dbunit.ext.mssql.MsSqlDataTypeFactory</property> 

    </extension> 

</arquillian> 
+0

У меня такая же проблема, когда я развертываю машину Jenkins – ElArbi

ответ

8

Я нашел решение: нам нужно specifiy порта для используемого протокола (т.е. Servlet 3.0) в arquillian.xml файл:

<container qualifier="jboss" default="true"> 
    <configuration> 
     <property name="chameleonTarget">wildfly:8.2.1.Final:remote</property> 
    </configuration> 
    <protocol type="Servlet 3.0"> 
     <property name="host">localhost</property> 
     <property name="port">8180</property> 
    </protocol> 
... 
Смежные вопросы