Mainframe3270 is a library for Robot Framework based on the py3270 project, a Python interface to x3270, an IBM 3270 terminal emulator. It provides an API to a x3270 or s3270 subprocess.
Mainframe3270 requires Python 3. It is tested with Python 3.8 and 3.12, but should support all versions in between these.
In order to use this library, first install the package from PyPI.
pip install robotframework-mainframe3270
Or you can upgrade with:
pip install --upgrade robotframework-mainframe3270
Then, depending on your OS, proceed with the corresponding chapters in this README.
You need to install the x3270 project and put the directory on your PATH.
The default folder is "C:\Program Files\wc3270". This needs to be in the PATH
environment variable.
You can install the x3270 project from the instructions page. Or if it is available in your distribution through:
sudo apt-get install x3270
or
brew install x3270
More information can be found on the Wiki page of this project.
*** Settings ***
Library Mainframe3270
*** Test Cases ***
Example
Open Connection Hostname LUname
Change Wait Time 0.4 seconds
Change Wait Time After Write 0.4 seconds
Set Screenshot Folder C:\\Temp\\IMG
${value} Read 3 10 17
Page Should Contain String ENTER APPLICATION
Wait Field Detected
Write Bare applicationname
Send Enter
Take Screenshot
Close Connection
You can find the keyword documentation here.
The Docker image contains everything that is needed to run Mainframe tests. Currently the image is not published to Docker Hub. In order to use it, perform the following steps.
- Download the Dockerfile sources
curl -O https://raw.githubusercontent.com/MarketSquare/Robot-Framework-Mainframe-3270-Library/master/Dockerfile
curl -O https://raw.githubusercontent.com/MarketSquare/Robot-Framework-Mainframe-3270-Library/master/entrypoint.sh
- Build the image:
docker build -t mainframe3270 .
- Run the container
docker run --user mfuser -v /path/to/your/tests:/home/mfuser/tests mainframe3270 robot /home/mfuser/tests
Interested in contributing to the project? Great to hear! Whether you found a bug, or want to develop a new feature, please refer to our Contributing Guidelines to help you get started.
For more information visit the repository Wiki.
For an overview of the (latest) changes see CHANGELOG.
Initial development was sponsored by Capgemini Engineering
- Samuel Cabral
- Joao Gomes
- Bruno Calado
- Ricardo Morgado
- Robin Matz
This project is licensed under the MIT License - see LICENSE for details.