expect-lite
Author: Craig Miller
Description: Automation for the rest of us
Keywords: test testing automation expec-lite script expect project google

# 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. 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 August 2015
http://expect-lite.sourceforge.net/
this document for version 4.9.0 and above