Over a million developers have joined DZone.

Integration Testing With Iridium

Learn how to write integration tests that validate complex widgets in a web application with the Iridium testing tool.

· Web Dev Zone

Start coding today to experience the powerful engine that drives data application’s development, brought to you in partnership with Qlik.

If you are just getting started with Iridium, please read the article An Introduction to Iridium, an Open Source Selenium and Cucumber Testing Tool.

So far we have focused on using Iridium to create end to end tests that simulate the actions of a user as they navigate a web application. But Iridium can be used to run a more comprehensive set of tests against an individual element. For example, you may want to validate some complex widget on your site, like a search box.

Gherkin supports the notion of a scenario outline, which when used with an examples table, provides a way to rerun a scenario multiple times with different inputs. To demonstrate this we’ll create a test script that enters a number of different searches into the DZone search menu.

To run this example, right click, download and run this Web Start file. If you have not already done so, ensure that you have trusted the location where the Iridium JAR file is downloaded from using the instructions in the installation chapter of the getting started guide.

The first half of the test script is the same top to bottom execution of scenarios and steps that you have seen in other examples.

Feature: Open an application
# This is where we give readable names to the xpaths, ids, classes, name attributes or
# css selectors that this test will be interacting with.
 Scenario: Generate Page Object
   Given the alias mappings
     | SearchMenu  | dropdownMenu2 |
     | SearchField | search        |

 # Open up the web page
 Scenario: Launch App
   And I set the default wait time between steps to "2"
   And I open the application
   And I maximise the window
   And I click the element found by alias "SearchMenu"

Scenario outlines are a feature of the Gherkin language that allow you to rerun a scenario multiple times. You add steps to the scenario outline as you would for any other scenario, but at the end you’ll add a Examples table. The header element in this table defines the name of the row, which is referenced in the steps with the format <rowname>.

 Scenario Outline: Test the search box
   And I clear the hidden element with the ID alias of "SearchField"
   And I populate the element found by alias "SearchField" with "<search>"
   Examples:
     | search |
     | Java   |
     | Devops |
     | Linux  |
     | Agile  |

In our example, we clear and populate the search field with a selection of search queries. When the test is run, the scenario outline will be run once with each of the rows in the examples table.

On a side note, you'll notice that we used the step

And I clear the hidden element with the ID alias of "SearchField"

instead of using the simple selection of

And I clear the hidden element found by alias "SearchField"

This is because in this case the string "search" (which is what the alias SearchField references) is not specific enough to identify a single element on the page, so we use a step that specifically references the ID rather than finding elements with id, classes, names, xpaths, css selectors that may also match the string "search".

Scenario outlines are a powerful way to write test cases for small units of functionality in a web application, and when combined with the steps already defined as part of Iridium you can quickly write an integration test that ensures your web application is functioning as expected.


Create data driven applications in Qlik’s free and easy to use coding environment, brought to you in partnership with Qlik.

Topics:
web application ,scenario ,examples ,application ,selenium ,cucumber

Published at DZone with permission of Matthew Casperson, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}