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