greater than

expect-lite


Automation for the rest of us


What is it?

expect-lite is an 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, and conditionals (if statements).

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

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.6.2 improvements include:
  • Environment Variable EL_SHELL  when using EL_CONNECTION_METHOD=none
  • Fixes:
    • *TIMESTAMP output now goes to *LOG file
    • *LOGAPPEND now correctly appends to default log file name
    • *INFO, *WARN, *EXP_INFO, *DEBUG when used on CLI over-ride script values
    • String Math search/replace & concat functions
  • Added *NOINCLUDE to prevent include files from included (old Library Mode behaviour)

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
+$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



19 November 2013
http://expect-lite.sourceforge.net/

this document for version 4.6.2 and above