Project description
pexpect-executor
Automate interactive CLI tools actions to create previews or tests in Python.
Preview
CLI examples
pexpect-executor --help
pexpect-executor --down --down --down --down --down --space --enter -- gitlabci-local -H -B
pexpect-executor --press a --press a --enter -- gitlabci-local
pexpect-executor --ctrl c -- gitlabci-local
Python examples
#!/usr/bin/env python3
# Modules libraries
from pexpect_executor import Executor
# Configure
Executor.configure(host='previews', tool='pexpect-executor')
# List
Executor('ls -la', workdir='/').\
finish()
# More
Executor('ls -la | more -5', delay_press=0.5, workdir='/').\
read().\
press('s').\
read().\
press('s').\
read().\
press('b').\
read().\
press('b').\
read().\
press(' ').\
read().\
wait(1).\
press(Executor.KEY_ENTER).\
read().\
wait(1).\
press('q').\
finish()
# Prompt
Executor('').\
finish()
Usage
Command |
|
pexpect-executor |
Automate interactive CLI tools actions |
Internal arguments |
|
-h, --help |
Show this help message |
--version |
Show the current version |
Configuration arguments |
|
--delay-init SECS |
Delay the initial action execution (in s, default: 1.0) |
--delay-press SECS |
Delay the press actions execution (in s, default: 0.5) |
--delay-prompt SECS |
Delay the prompt actions execution (in s, default: 1.0) |
--hold-prompt |
Hold the prompt execution without a new line |
--host HOST |
Configure the host name (default: preview, env: EXECUTOR_HOST) |
--tool TOOL |
Configure the tool name (default: executor, env: EXECUTOR_TOOL) |
--workdir WORKDIR |
Use a specific working directory path |
Actions arguments |
|
--up |
Press the <UP> key |
--down |
Press the <DOWN> key |
--left |
Press the <LEFT> key |
--right |
Press the <RIGHT> key |
--enter |
Press the <ENTER> key |
--space |
Press the <SPACE> key |
--press KEY |
Press the specified <KEY> |
--ctrl KEY |
Press the specified Ctrl+<KEY> |
--read |
Read the buffered data output (forced) |
--wait SECS |
Wait the specified time (in s, example: 1.0) |
--finish |
Finish the execution (forced) |
Positional arguments |
|
command |
Command arguments to execute (use -- to separate) |
Supported systems
Systems |
Supported |
Linux (shell) |
✓ |
macOS (shell) |
? |
Windows (shell) |
~ |
Android (Termux) |
✓ |
Dependencies
- colored: Terminal colors and styles
- pexpect: Interactive console applications controller
- setuptools: Build and manage Python packages
- wexpect: Windows alternative of pexpect
- winpexpect: A version of pexpect that works under Windows
References
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution