andreas-bauer / scout-plugin-demo

Plugin demo for Scout

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scout Plugin Demo

REUSE Compliance License: MIT

Introduction

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.

Build

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.

Impressions

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.

Screenshots with issues in state Screenshots without any issues in state

Reports

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
}

License

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.

About

Plugin demo for Scout


Languages

Language:Java 100.0%