Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This page describes the set-up and usage of the "Schrödinger" testing framework for gui GUI tests. This feature is officially available up from TODO: INSERT Midpoint VERSION.

...

  1. Pick a browser on which you wish to execute the tests and download the corresponding webdriver supported for executing selenium tests (e.g. the latest ones for the chrome Chrome web browser can be found here)
  2. Locate the schrodinger.properties properties file present in midpoint/testing/schrodingertest/src/test/resources/configuration/ and add the following values:
    1. For ''username" input the username for the test user (Same as above) 
    2. For "password" input the password for the tests user (The user which the tests automation mechanism will use to test the guiGUI
    3. For "base_url" input the URL on which the midpoint application resides (e.g. "http://localhost:8080/midpoint")
    4. For "webdriver" specify the name of the webdriver system property (e.g. for chrome "webdriver.chrome.driver")
    5. For "webdriverLocation" input the path to the web driver executable which you downloaded during "step
    6. For "headlessStart" true if the tests should start in "headless" mode (If no value present then by default false)
  3. A JDK 1.8 or higher is needed to be referenced on your path for this feature to work.
  4. Test execution using maven:
    With the project already built, execute the following maven command while in the module named "testing", the profile "schrodingerSchrodinger" adds the module "schrodingertest" to the execution.

    Code Block
    mvn verify -P schrodinger 


    Optionally execute the former without the profile switch directly in the "schrodingertest" module to start only the schrodinger Schrodinger test 

  5. You are capable to customize the execution a bit more, this is stated at a further section of this page and essentially that's it. Have fun testing testing!
Note
titleStartup

The boot up of the application is indicated with a message similar as to this one :

Midpoint (a version of the build you are testing) booting up for integration testing, embedded Tomcat instance configured to listen on port: (port number, either default or configured)

...

  1. Server port for the embedded Apache Tomcat server. The default values is value is 8180. Can be changed using the argument "-Dserver.port". Please also bear in mind that the server port has to be changed in the "base_urlproperty in the schrodinger.properties property file as well.
  2. The midpoint home directory. How the default is set is described on the following page. Can be changed using the argument "-Dmidpoint.home"
  3. By default, there is a home directory created during the boot up of Midpoint or there can be one assigned via the "midpoint.home" argument. If you wish to remove such directories after the test execution finishes, there is a cleanup option present as well. By default it is set to "false" but this can be changed using the "-Dcleanup" argument.
  4. The whole boot upbootup, test, cleanup clean up part of the integration tests cycle can be ignored if needed using the switch "-DskipTests"

...

Code Block
mvn verify -Dcleanup -Dmidpoint.home=/home/midpoint/schrodinger -Dserver.port=8181

Test coverage

TODO

...

Integration with an automation server (Jenkins)

TODO

...

Further framework extension

TODO

...

Adding custom test suites 

The execution of test suites is orchestrated via the maven failsafe plugin. To add additional test cases to the suite execution you will need to modify the suite configuration file. 

Info
titleDefaults

By default, the information of which test classes are the subject of execution is present in the "testng-integration-schrodinger.xml" suite configuration file at the root of the "schrodingertest" module.

If you would like to change the name or path to the suite configuration file, this change has to be done in the project POM file of the "schrodingertest" module. The configuration is present in the plugin with the artifact "maven-failsafe-plugin".

Code Block
languagexml
<suiteXmlFiles>
    <suiteXmlFile>testng-integration-schrodinger.xml</suiteXmlFile>
</suiteXmlFiles>

 

...