Your exploratory test monkey that becomes smarter over time.
King Louie:
Oh, oobee doo
I wanna be like you
I wanna walk like you
Talk like you, too
You'll see it's true
An ape like me
Can learn to be human too
nodejs
>= 8 (depending onasync
and using es6), withnpm
- Chrome
clone this repo and
npm install
npm test
node samples/google/main.js
- A
Model
(Labeled Transition System), consists of:Label
s- A label is either a
stimulus
(e.g. click), aresponse
(e.g. an error), orquiesence
(δ, absence of any output). - Can define parameters
- A label is either a
State
s- Which have outgoing
Transition
s- Which have a
from
state, alabel
, and ato
state. - May have a
guard
which specifies conditions on label parameters
- Which have a
- One state is the
initialState
- Which have outgoing
- An
InstantiatedLabel
is a label, but with actual data and meta data. - A
Trace
is a list of observedInstantiatedLabel
s.
You must implement an Adapter
, which is an object that has async functions preamble
, waitForOutput
and determineState
. See samples (samples/google/main.js).
The adapter
folder contains predefined methods to interact with a page.
Is using your Adapter
and builds up an observation Model
.
- Kinglouie does not interact with iframes or new windows (popups).
- Kinglouie does not handle modal dialogs (e.g.
alert()
);