1. System requirements
Operating Systems
- Linux
- Windows 10 and above (64-bit only)
- macOS
Browsers
- Chrome
- Edge - If it doesn’t work try InPrivate mode (Ctrl + Shift + N)
- Firefox
- Safari is NOT supported currently
2. Create a project
- Go to https://cloud.harmony.ac and register or log in to your account.
- Click on “Personal projects”
- Click on “+New project” and provide a name for your project.
- You’ll now have an empty project ready to start designing tests.
3. Free trial
4. Test design with AI
- In your project, click “+New feature” from the sidebar to create a new feature.
- Click on the newly created feature to open it.
- Click “Start designing tests” to create a new test design tree.
- Copy the requirements into the requirement window.
- Click on Generate
5. Automate your first tests
- Open the Harmony web application in your browser.
- Open the project you want to test.
- Set the URL of the application to be tested in the “Parameters” window:
- Select the feature containing the test design you want to automate.
- Hover the mouse on a node in the test case to be executed. It will turn into a play icon. Click on it:
- The embedded browser will open, and you can now record the actions and responses for each step.
- To automate an action just click on the button or enter a value (Go shopping in the screenshot below). The low-level model is generated and the test step is automatedly executed see the passed icon before ‘When’:
You can make several low-level actions and press “Done” when you are ready.
- To automate a response just hover the mouse over the UI object, then click on it. Harmony knows that it’s a response and generates an assertion. Below you should select ‘9’ and click on it:
The step is successfully executed again. You can make several low-level responses and press “Done” when you are ready. You can validate that a UI element is visible, non-visible, enabled, disabled, checked, unchecked, etc. by pressing the mouse right button. In this example you shouls select disabled:
resulting in a new low-leve step:
- During recording, Harmony generates and Playwright executes the automated test steps.
- To stop automation press the “stop” icon:
Exercises
Pizza - https://harmony.ac/pizza/
I. Checkout
A Login
R1 Before any shopping, customers can log in.
R2 To log in , name Smith and password 2a4b6c are acceptable.
B Checkout
R0 Prices:
Pizza Mexicana - EUR 7
Pizza Rucola XXL - EUR 14
Pizza Chicken - EUR 8.5
Coke - EUR 2
Beer - EUR 3
R1 I can add items to the cart after logging in
R2 I can remove all the items of a given type (such as all Cokes) from the cart
R3 I can check out only if the total price of the items in the cart reaches 10 euros.
Precision is 0.5 euros.
II. Discount
R1. If the total price excluding beverages reaches 30 euros for the first time, a beverage is offered to the customer. The user can select one free Coke or Beer which is added to the previously ordered beverages. ‘Free coke’ or ‘Free beer’ is displayed when a free beverage is on the ordered list.
R2. If the customer deletes food items and the price of pizzas goes below 30 euros, then the free beverage has been withdrawn. Adding the pizzas back the free beverage is also given back.
R3. The customer can delete the free beverage. When the non-beverage price condition holds and she adds the same beverage again, it remains free.
R4. The customer can clear all the items. Adding enough food again she can select any free beverage.
R5. The free beverage cannot be changed from Coke to beer or vice versa.
ISTQB Glossary - https://glossary.istqb.org/
I. Glossary setting
In the Glossary application, first, the Cookies should be accepted. The initial search screen includes a search options button. Selecting this button, a modal window appears.
R0 The glossary attributes are: “Name”, “Abbreviation”, “Synonym”, "Definition", and "Reference".
R1 The attributes “Name”, “Abbreviation”, and “Synonym” are selected by default; the others are not.
R2 Any attribute can be selected or deselected.
R3 There is a "Select All" toggle button to select all attributes. Clicking the button for the second time, all the attributes are deselected.
R4 All setting modifications need to be accepted or cancelled. In the first case, the new setting is saved; otherwise discarded. In both cases, the settings screen disappears.
R5 There is a "Reset" option (button) to reset the user changes to the default. No confirmation is needed, and the modal window disappears.
R6 If the search options are not the default settings, then the search options button contains a red exclamation mark indicating it.
II. Term navigation
Make the test design and automate the following requirements of the Glossary application.
R1: When the term details are displayed for an item in a result list of terms, the user should be able to navigate to the details of the Next term or the previous term in the list with one click ("Next" and "Previous" buttons).
R2: The user should be able to go back to the search result list by pressing the up arrow (Up button).
R3: The navigation buttons shall have mouseover tooltips ("Next term in the list" for Next, "Previous term in the list" for Previous, and "Result list" for Up buttons)
R4a: The Next button shall only be active if there is a next term in the list, i.e., for the last term of the list, the Next button shall not be active (or not displayed).
R4b: The Previous button shall only be active if there is a previous term in the list, i.e., for the first term of the list, the Previous button shall not be active (or not displayed).
R5a: If the user leaves the term details for the selected term, the buttons will disappear.
R5b: If the user changes the language, the buttons are inactive (disabled).
Car rental - https://exercises.test-design.org/rental/
A rental company loans cars (EUR 300), and bikes (EUR 100) for a week.
R1 The customer can add cars or bikes one by one to the rental order.
R2 The customer can remove cars or bikes one by one from the rental order.
R3 If the customer rents cars for more than EUR 600, then they can rent one bike for free. In case of discount:
R3a If the customer has selected some bikes previously, then one of them becomes free.
R3b If the customer hasn't selected any bike previously, then one free bike is added.
R4 If the customer deletes some cars from the order so that the discount threshold
doesn't hold, then the free bike will be withdrawn.
R4a When the discount is withdrawn but given again, and no bike was added
meanwhile, the customer gets the previous discount back.
R4b When the discount is withdrawn and some bikes are added when the discount is
given again, then one of them becomes free.
R5 If the customer deletes the free bike, then no money discount is given. Adding the bike back the discount is given again by converting the bike price to zero.
Extra work
R0. Each employee starts with 20 free days (paid holidays).
R1. Employees may perform overtime work, which increases their overtime count (overtimea++).
R2. When an employee accumulates 3 or more overtime units, the system offers 1 additional free day.
- R2a. If the employee accepts the offer, they receive 1 free day, and 3 overtime units are deducted.
- R2b. If the employee declines, their overtime count remains unchanged. After declining, the system offers a free day after another overtime work.
The employee must accept or decline the free day.
R3. An employee may use a free day by triggering free day--.
R4. If an employee is late, the system deducts 1 overtime unit (overtime--).
If the employee has no overtime (overtime = 0), then 1 free day is deducted instead (free day--).
R5. If an employee is late and has neither overtime nor free days, then the employee is terminated.