Запустите arquillian тесты на jboss, установленном на удаленном облачном сервере
Я могу запустить тесты arquillian на моей локальной машине, используя eclipse/ терминал. Я попытался запустить arquillian со своего локального компьютера на jboss, развернутом на облачном сервере. Я уверен, что зависимости правильно добавлены. Вот как я захожу на облачный сервер:
ssh -p xxxx root@cloud.abcd.pqr.wxy.xyz
Часть моей arquillian.xml
:
<container qualifier="jboss_remote" default="true">
<configuration>
<property name="managementAddress">cloud.abcd.pqr.wxy.xyz</property>
<property name="managementPort ">9999</property>
<property name="username">root</property>
<property name="password">shroot</property>
<property name="outputToConsole">true</property>
<property name="allowConnectingToRunningServer">true</property>
</configuration>
</container>
Пожалуйста, смотрите вывод консоли, когда я запускаю тесты arquillian
org.jboss.arquillian.container.spi.client.container.LifecycleException: Could not start container
at org.jboss.as.arquillian.container.managed.ManagedDeployableContainer.startInternal(ManagedDeployableContainer.java:167)
at org.jboss.as.arquillian.container.CommonDeployableContainer.start(CommonDeployableContainer.java:113)
at org.jboss.arquillian.container.impl.ContainerImpl.start(ContainerImpl.java:199)
Caused by: java.util.concurrent.TimeoutException: Managed server was not started within [60] s
at org.jboss.as.arquillian.container.managed.ManagedDeployableContainer.startInternal(ManagedDeployableContainer.java:163)
... 77 more
Еще одна вещь, которую я заметил, заключается в том, что в arquillian.xml, когда я задаю managementAddress и managementPort как 127.0.0.1:9999, это работает. но когда я пытаюсь поместить managementAddress и managementPort в качестве myIP:9999, это не работает.
Проблема, из-за которой я не смог развернуть использование arquillian для удаленного Jboss с managementAddress и managementPort как myIP: 9999 заключалась в том, что я неправильно настроил standalone.xml, это то, что я изменил в standalone.xml
<interfaces>
<interface name="management">
<any-address/>
</interface>
<interface name="public">
<any-address/>
</interface>
<interface name="unsecure">
<any-address/>
</interface>
</interfaces>
Теперь, когда я пытаюсь запустить arquillian тесты на удаленном jboss, arquillian развертывает уши в термоусадочную пленку, но не может выполнить тестовые случаи. Это исключение, которое я получаю:Tests run: 5, Failures: 0, Errors: 5, Skipped: 0, Time elapsed: 5.118 sec <<< FAILURE!
basicSanitytest(test.integration.pm.parser.ejb.PMFileParserTest) Time elapsed: 0.019 sec <<< ERROR!
java.lang.IllegalStateException: Error launching test test.integration.pm.parser.ejb.PMFileParserTest public void test.integration.pm.parser.ejb.PMFileParserTest.basicSanitytest()
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.invoke(ServletMethodExecutor.java:126)
at org.jboss.arquillian.container.test.impl.execution.RemoteTestExecuter.execute(RemoteTestExecuter.java:120)
..........
Caused by: java.lang.IllegalStateException: Error launching request at http://0.0.0.0:8080/test/ArquillianServletRunner?outputMode=serializedObject&className=test.integration.pm.parser.ejb.PMFileParserTest&methodName=basicSanitytest. No result returned
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.executeWithRetry(ServletMethodExecutor.java:162)
at org.jboss.arquillian.protocol.servlet.ServletMethodExecutor.invoke(ServletMethodExecutor.java:122)
... 90 more
3 ответа
После многих попыток это не сработало, поэтому мы установили jboss на сервер, установил jenkins и теперь работает local-arquillian.
Похоже, вы пытаетесь использовать управляемый контейнерный соединитель для Arquillian, когда вам следует использовать пульт.
Имя пользователя / пароль должны быть именем пользователя / паролем консоли управления JBoss (обычно admin/admin)
Похоже, что это проблема с arquillian, о которой уже сообщалось и которая исправлена в следующей версии:
<dependency>
<groupId>org.jboss.arquillian.protocol</groupId>
<artifactId>arquillian-protocol-servlet</artifactId>
<version>1.1.2.Final</version>
</dependency>