[JBoss JIRA] (SRAMP-431) Arquillian-based integration tests
by Gary Brown (JIRA)
[ https://issues.jboss.org/browse/SRAMP-431?page=com.atlassian.jira.plugin.... ]
Gary Brown commented on SRAMP-431:
----------------------------------
"As the selenium tests would be just junit tests, they would be located in the src/test folder of every ui project."
As they need to be run within the scope of a running target server, won't it just be easier to include these as part of the integration test infrastructure?
QE also use selenium, so may be easier to exchange tests.
> Arquillian-based integration tests
> ----------------------------------
>
> Key: SRAMP-431
> URL: https://issues.jboss.org/browse/SRAMP-431
> Project: S-RAMP
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Reporter: Brett Meyer
> Assignee: Brett Meyer
>
> Create a new s-ramp-test module to contain all integration tests. Thoughts:
> - 1 central abstract class (IntegrationTest) that contains all the functional tests and assertions (or if that gets too large, split it up into delegates)
> - 1 Arquillian test per supported container, extending the above. Mainly in charge of the @RunWith and @Deployments. Ex: EAPIntegrationTest extends IntegrationTest
> - None of them should run by default. Pull them all into a specific Maven profile, then setup a new CI job specifically for it.
> - 1 central ant script, executed by the POM, should be in charge of downloading the Jetty and and Tomcat distros, then unpacking them. Arquillian would then use them in a "managed mode."
> - The ant script will eventually be in charge of downloading EAP as well, but not until we have CI hardware within the RH network. Until then, we'll need to do something similar to RTGov's current tests: require the distro be manually downloaded and unpacked, then set $JBOSS_HOME
> - Fuse should be run in embedded mode.
> The work-in-progress: https://github.com/brmeyer/s-ramp/commits/integration-tests
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 10 months
[JBoss JIRA] (SRAMP-431) Arquillian-based integration tests
by David virgil naranjo (JIRA)
[ https://issues.jboss.org/browse/SRAMP-431?page=com.atlassian.jira.plugin.... ]
David virgil naranjo commented on SRAMP-431:
--------------------------------------------
Hi Brett,
I like how you structure the Arquillian Integration Tests. This post is useful:
https://docs.jboss.org/author/display/ARQ/Container+adapters
It does not say anything about eap 6.3, that is the latest one we support.
Interesting post that explains difference between remote, embedded and managed containers.
http://arquillian.org/blog/2012/04/13/the-danger-of-embedded-containers/
About UI testing. I have been reviewing today, selenium and arquillian:
Selenium:
There is a firefox plugin that generates the test suite code, recording the steps done in the browser. Then it generates java code. You need to specify the url (can be modified depending the profile).
It also allow to run the same test in different browsers using the parameterized annotation.
It would require that the server instance (tomcat, jetty, jboss...) is started.
In continuous integration that could be done easily. Just adding the tomcat plugin, or jboss plugin and calling start and stop.
As the selenium tests would be just junit tests, they would be located in the src/test folder of every ui project.
Related Links:
http://seleniumsimplified.com/get-started/ Good videos to show how easy could be to develop tests.
http://blog.wedoqa.com/2013/10/parameterized-junit-tests-with-selenium-we...
Arquillian
Arquillian allows UI testing using Arquillian drone. But the problem here is that, it requires the test to create all the artifact to be deployed manually:
https://community.jboss.org/en/arquillian/blog/2011/09/17/functional-test...
In our case we do not have just html files in the webapp folder. We have gwt as UI technology. I have seen another project arquillian-gwt-extension, but there is not so much documentation and the community is not big.
https://community.jboss.org/thread/236077
It could be interesting because it would test the gwt ui as dev mode.
But as ease of development, I prefer selenium. Why? Because you do not need to think a lot, just go to the browser, make the bunch of steps, generate the code and adapt it little bit. Maybe I could be wrong.
Just waiting your comments and ideas.
Thanks
David
> Arquillian-based integration tests
> ----------------------------------
>
> Key: SRAMP-431
> URL: https://issues.jboss.org/browse/SRAMP-431
> Project: S-RAMP
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Reporter: Brett Meyer
> Assignee: Brett Meyer
>
> Create a new s-ramp-test module to contain all integration tests. Thoughts:
> - 1 central abstract class (IntegrationTest) that contains all the functional tests and assertions (or if that gets too large, split it up into delegates)
> - 1 Arquillian test per supported container, extending the above. Mainly in charge of the @RunWith and @Deployments. Ex: EAPIntegrationTest extends IntegrationTest
> - None of them should run by default. Pull them all into a specific Maven profile, then setup a new CI job specifically for it.
> - 1 central ant script, executed by the POM, should be in charge of downloading the Jetty and and Tomcat distros, then unpacking them. Arquillian would then use them in a "managed mode."
> - The ant script will eventually be in charge of downloading EAP as well, but not until we have CI hardware within the RH network. Until then, we'll need to do something similar to RTGov's current tests: require the distro be manually downloaded and unpacked, then set $JBOSS_HOME
> - Fuse should be run in embedded mode.
> The work-in-progress: https://github.com/brmeyer/s-ramp/commits/integration-tests
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 10 months