An Example of creating a CounterString tool in JavaScript.
Initially created as a "Snippet" run from chrome dev tools.
The source for this is in the \snippets
directory.
Then the Snippet was converted into a simple Chrome Extension.
See the extension
folder.
Description of writing the snippets version:
- eviltester.com/blog/eviltester/2019-02-19-counterstring-snippets
- YouTube Video showing creation of the Chrome Extension
A CounterString is a string of text e.g. *3*5*7*9*12*15*
where:
- the string is a specific length e.g. 15
- the last character in the string is an *
- the numbers before each * are the position of the *
This can act as Test Data for helping test the length allowed in forms and other data fields. If the value is truncated then you can tell from the numbers and the '' how long the string is e.g. *3*5*7*9*12*15
is 14 characters long because the '' after 15 is missing.
Counterstrings are commonly used in exploratory testing.
This extension is a simple CounterString generator, which:
- displays a dialog asking for the number of characters,
- then generates a CounterString of that length
- the CounterString is logged to the dev console to allow copy and pasting,
- the extension also inserts the CounterString into the value of the field that was selected when the right click context menu was displayed
- this supports supports testing online forms.
Instructions for use:
- right click on and input field
- enter value of CounterString
- CounterString will be logged to the console (use dev tools to see it)
- CounterString will be inserted as the value of the WebElement you clicked on
Note:
- works with forms on the actual page
- this extension does not work with forms embedded in frames
This is open source and source can be found at GitHub:
You can download this from the Chrome Store:
To install from source added as an "unpacked extension":
- download the zip file from releases
- unzip the file
- visit chrome://extensions
- switch on Developer mode
- Click Load Unpacked
- choose the extension folder (the one with the
manifest.json
in it)