greater than

expect-lite


Automation for the rest of us


What is it?

expect-lite is a mature, quick and easy command line automation tool.

Written in expect, it is designed to directly map an interactive terminal session into an automation script. expect-lite scripts use special character(s) at the beginning of each line to indicate the action. Basic expect-lite scripts can be created by simply cutting and pasting text from a terminal window into a script, and adding '>' '<' characters. No knowledge of expect is required!

Includes a Powerful Debugger with breakpoints, step/skip, copy/paste expect-lite lines right into a running script.

Structured programming via Code Blocks, enables easy to create while loops, foreach loops and conditionals (if statements).

Full IPv6 support, using telnet or ssh over IPv6, and IPv6 addresses in the script.

See Linux Symposium presentations for a quick overview.

Expect-lite is targeted at the verification testing environment, and will produce a Pass/Fail result at the end of the script. However, its use is not limited to this environment and can be used anywhere a text-based interface needs a bit of automation.

What is it for? 

A simple to use automation tool to do:
  • Functional, System, Regression Testing.
  • White or black box Testing.
  • Automated Router Configuration.
  • Compiler validation.
  • etc.

What New?

Latest version 4.9.0 improvements include:
  • Native Sleep support with mili-second resolution
    • Use a colon to indicate length of sleep, e.g. 10.5 seconds
      :10.5
    • Progress dots to show script is sleeping, including logging
      Sleeping: ....+....10.
    • Sleep value can be a variable
      :$sleeper
  • Progress dots added to expect lines (<, <<, ~<) to provide better feedback on how long the script waited for expected value
    • information output can be suppressed with *NOINFO directive

The main purpose is keep it simple. However, the advanced features allow pretty creative scripting.

The central ideas behind the design are:

  • Just keep it simple and portable - it runs on Linux, Mac OS X, *nix, and Windows(with cygwin).
  • No syntax errors
  • Make the automator's life easier.

Examples

Check the IP address of the localhost

>ifconfig
<192\.168\.1\.1
>ip -6 addr show
<2001:db8::f00d

ssh to a remote host

>ssh root@host-021
<assword:
>>secret_password
# issue a command once logged in
>ls
>exit
While loops using code blocks
$i=1
[ $i < 5
>echo hello times $i
<times $i
# sleep 2.2 seconds
:2.2
+$i
]
Conditional using code blocks
? $IP == 2001:db8::f00d ? [
>echo future of the internet is here
]::[
>echo time to upgrade to IPv6
]

expect-lite includes over 25 example scripts covering topics such as: if statements, looping, multiple sessions, random number generation, and more.

Where to get it?

The most recent version is always available on SourceForge:

Download expect-lite



15 October 2016
http://expect-lite.sourceforge.net/

this document for version 4.9.0 and above