Typing test input: emails, emojis, long text and injection strings
Types text into, or clears, random input fields matching its selector; its instances differ in what they type.
Nothing to set up: it's on by default, so a plain elsetest --url staging.example.com already uses it. The options below are for fine-tuning.
This is Elsetest's Type plugin. It runs as 16 instances, each with an alias and options of its own (below).
In each step of a test, one plugin instance is picked at random, weighted by its frequency.
Options
Set them for one instance with --plugin alias=<alias> key=value, or for every instance of the plugin with --plugin name=Type key=value. In a config file, each --plugin is an object in "plugins", e.g.:
{
"plugins": [
{ "alias": "TypeJsInjection", "frequency": "off" }
]
}
A selector says which elements of the page an option is about, e.g. #chat-widget or .cookie-banner button: see Selectors.
frequency
--plugin alias=TypeJsInjection frequency=<level>
How often the plugin runs compared to the others.
selector
--plugin alias=TypeJsInjection selector=<selector>
CSS selector of the elements to type into.
ignoreSelector
--plugin alias=TypeJsInjection ignoreSelector=<selector>
Elements this plugin doesn't act on, nor on anything inside them; replaces the global ignoreSelector (not the data-elsetest-ignore attribute, which always applies). The site can also mark the elements in its HTML with the attribute data-elsetest-type-ignore.
ignoreText
--plugin alias=TypeJsInjection ignoreText=<regex>
This plugin doesn't act on a control whose text or label matches this case-insensitive regular expression; replaces the global ignoreText.
vocabulary
--plugin alias=TypeJsInjection vocabulary=<vocabulary>
What to type. lorem is a lorem ipsum sentence, longsentence a very long one, tel a phone number, placeholder the field's placeholder text, js-injection HTML that runs JavaScript if the page does not escape it (an error is logged when it runs), swedish Swedish letters, empty deletes the text; random picks one of number, email, password, js-injection, image-data-uri, emojis, swedish and date each time.
scroll
--plugin alias=TypeJsInjection scroll=true|false
Also act on elements outside the window, scrolling to them first. Otherwise only elements in the window are used, and the Scroll plugin moves the window.
Default instances
| Alias | The options it sets |
|---|---|
TypeJsInjection | vocabulary=js-injection frequency=normal |
TypeLorem | vocabulary=lorem frequency=normal |
TypeMuch | vocabulary=longsentence frequency=low |
TypeEmojis | vocabulary=emojis frequency=low |
TypeSwedish | vocabulary=swedish frequency=low |
TypeImageDataUri | vocabulary=image-data-uri frequency=lowest |
TypeTextEverywhere | vocabulary=lorem frequency=lowest scroll=true |
TypeRandom | vocabulary=random frequency=normal |
TypeNumber | selector=input[type=number] vocabulary=number frequency=normal |
TypeEmail | selector=input[type=email] vocabulary=email frequency=normal |
TypePassword | selector=input[type=password] vocabulary=password frequency=normal |
TypeDate | selector=input[type=date] vocabulary=date frequency=normal |
TypeColor | selector=input[type=color] vocabulary=color frequency=low |
TypePhoneNumber | selector=input[type=tel] vocabulary=tel frequency=normal |
TypePlaceholder | selector=input[placeholder] vocabulary=placeholder frequency=normal |
DeleteText | selector=input:not([type]), input[type=text], input[type=search], input[type=url], textarea, input[type=number], input[type=email], input[type=password], input[type=date], input[type=tel] vocabulary=empty frequency=low |
Other plugins
Accessibility · Ai · BrokenText · Click · Cluster · History · Login · MutationCluster · Overlap · Scroll · SelectOption · Spelling · Validate
This page is generated from the help texts of Elsetest 0.9.8. The same help is in the program: elsetest --help.