⚠️
This is a legacy testsuite! For latest WildFly HAL tests see https://github.com/hal/testsuite.next
Testsuite
Selenium testsuite for the HAL management console. It uses Drone and Graphene Arquillian extensions.
Prerequisites
- JDK 8 or higher
- Maven 3.0.4 or higher
- Firefox browser (tested on 31.2.0 esr version, will probably not run with far older or younger versions)
- Wildfly (10 or higher) or EAP (7 or higher)
- To setup WildFly/EAP for HAL RBAC tests please follow RBAC.md instructions.
You can download it here: http://wildfly.org/downloads/ or http://www.jboss.org/products/eap/download/
Currently it's necessary to unsecure the management http-interface to be able to run testsuite.
How to unsecure management http-interface using CLI
Standalone
/core-service=management/management-interface=http-interface:undefine-attribute(name=security-realm)
:reload
Domain
/host=master/core-service=management/management-interface=http-interface:undefine-attribute(name=security-realm)
/host=master:reload
How to run tests
mvn test -P{module},{server.mode} -Djboss.dist=${path_to_server_home} -Darq.extension.webdriver.firefox_binary=${path_to_firefox_binary} -Djbeap2168workaround
Required profile (-P) parameters
Can be one of those:
Profiles | Explanation |
---|---|
-Pbasic,standalone |
run basic tests against standalone mode |
-Pbasic,domain |
run basic tests against domain mode |
-Prbac,standalone |
run RBAC related tests against standalone mode |
-Prbac,domain |
run RBAC related tests against domain mode |
-P[basic,rbac],[domain,standalone],serverCheck |
run tests against given mode and at the end of every test class run,
|
-Ptransactions,[domain,standalone] |
run tests related to prepared transactions in messaging subsystem against standalone or domain mode, see more in modules README |
Required jboss.dist parameter
Path to server home folder. Server is expected to be already manually started. In case of standalone mode standalone-full-ha configuration is expected. E.g. -Djboss.dist=/home/user/workspace/wildfly/build/target/wildfly-9.0.0.Alpha2-SNAPSHOT/
Optional arq.extension.webdriver.firefox_binary parameter
Path to Firefox binary file. If not provided system default firefox will be used. E.g. -Darq.extension.webdriver.firefox_binary=/home/user/apps/firefox-31.2.0esr/firefox
Optional take.screenshot.after.each.test parameter
If screenshot should be made after each test. Default is false
. E.g. -Dtake.screenshot.after.each.test=true
Optional federation.already.enabled parameter
If PicketLink federation subsystem should be enabled for related tests (otherwise it is assumed the subsystem is already configured and should not be added before tests and removed after them) E.g. -Dfederation.already.enabled=true
Optional propagate.to.model.timeout
Sometimes the model resource change is not yet propagated fast enough even if in GUI the change seems to be already persisted. This parameter means how long to wait for GUI change to be propagated to model in milis. Default value is 500.
Optional jbeap2168workaround
Until https://issues.jboss.org/browse/JBEAP-2168 is fixed you can use this optional parameter to switch on workaround to re-navigate up to 2 times again if navigation seems to be frozen. E.g. -Djbeap2168workaround
Optional elytronSecurity
Run only Elytron related tests.
Optional picketSecurity
Run only PicketBox and PicketLink related tests.
Optional noSecurity
Run tests except of Elytron, PicketBox and Picketlink related ones.
Modules
common
Should contain all common abstraction like UI navigation, test categories, DMR abstraction etc. It's intentioned to be able to used as a dependency of external testsuites as well.
basic
Should contain majority of tests which don't require special configuration.
rbac
Should contain RBAC related tests. To setup WildFly/EAP for HAL RBAC tests please follow RBAC.md instructions.
Tips
- If you want tests to be run on background use vncserver. E.g.
vncserver :10 -geometry 1920x1080
export DISPLAY=:10
Known issues
- No sreenshots on test failure neither test error currently (It seems Arquillian unlike Surefire thinks they passed).
- Multiple aliases for tested IP address (usually 127.0.0.1) in hosts file has to be avoided - see related Selenium issue
Problems?
Ping us on IRC freenode.net#wildfly-management Issue tracking
Have fun.