This projects demonstrate how to write a plugin for the augmented exploratory testing software EyeScout.
It covers the following topics:
- Working with different lifecycle hook methods.
- Collect information from the current state.
- Collect global information, like the amount of all states.
- Collect user input information.
- Paint text with a background box.
- Paint circles with different colors next to text.
- Generate a JSON report of a session.
- Write log messages to a log file.
Ensure the Demo.java
file is in the plugin folder of Scout.
Than build the Java file with the javac
command.
javac -cp "../Scout.jar" Demo.java
Tested with Java openjdk 1.8
and openjdk 14.0.2
.
The visual representation of the plugin is divided into two parts for a global state and the current state.
In the global state overall information of the whole test session is shown. This information consists of the product name of the test, the performed left and right clicks, a counter of how often the UI was painted, the number of all existing states, and the number of all issues. The red dot next to the total issues emphasizes that issues exist.
In the current state, more detailed information about issues and visible actions are presented. Next to the issue counter is also a dot indicator. Additionally a list of all the reported text for each issue is presented. Next you can see a counter of all visible actions and also the status and type of every action.
The crawling of information to be presented is done during a change in the state and then read inside the paint UI hook method. This ensures that more costly operations are only done if the state is really changed and not because of a mouse movement triggers a repaint. Observe the Paint Counter to get a feeling of how often the UI is repainted.
The demo plugin also generates a report with some information that was collected during a testing session.
See example:
{
"product": "Traveler",
"total-actions": {
"LeftClickAction": 5,
"DragStartAction": 1,
"RightClickAction": 0,
"DragDropAction": 1
},
"issues": [
"Wrong title text",
"Wrong button text"
],
"coverageInPercent":100
}
Copyright (c) 2020 Andreas Bauer
This work (source code) is licensed under MIT.
Files other than source code are licensed as follows:
- Documentation and screenshots are licensed under CC BY-SA 4.0.
See the LICENSES folder in the root of this project for license details.