Skip to main content

A Robotframework library for IBM MQ

Project description

robotframework-ibmmq

Robot Framework keywords for IBM MQ — powered by the ibmmq Python package.

This library is a thin, explicit Robot Framework wrapper around the ibmmq Python package. It does not abstract away IBM MQ complexity — and that is by design.

If you use this library, you are using real IBM MQ, with real native dependencies, exactly like production.


What this library is (and is not)

IS

  • A Robot Framework library for connecting to IBM MQ
  • A wrapper around the ibmmq Python package
  • Designed for real integration testing, not mocks or file-based substitutes

IS NOT

  • A pure-Python library
  • A “just pip install and go” solution
  • A fake or simulated MQ implementation

If you are looking for something that avoids native dependencies, this library is not for you.


🚨 Read this first: IBM MQ prerequisites are mandatory

This library directly depends on ibmmq, which is a Python extension module backed by IBM MQ native libraries.

If ibmmq does not work on your machine, this Robot Framework library will not work either.

Before you do anything else, you must read and follow the official ibmmq prerequisites:

👉 Official ibmmq prerequisites (REQUIRED):
https://github.com/ibm-messaging/mq-mqi-python?tab=readme-ov-file#prerequisites

In practical terms, this means:

You must have, on the machine where tests run:

  • ✅ IBM MQ C Client
  • ✅ IBM MQ SDK
  • ✅ A working C/C++ build toolchain
  • ✅ Correct environment variables (e.g. MQ_FILE_PATH if MQ is not installed in the default location)

If any of the above is missing, you will see errors such as:

  • ModuleNotFoundError: No module named 'ibmmqc'
  • DLL load failures
  • Import errors during pip install or at runtime

These are environment issues, not bugs in this library.


Platform notes

  • ✅ Windows: Supported
  • ✅ Linux: Supported
  • ❌ No native MQ installation = no support

On Windows, a proper Visual C++ build environment is required, because ibmmq includes native extensions.


Installation

Step 1 — Verify ibmmq works first (strongly recommended)

python -c "import ibmmq; print('ibmmq OK')"

If this fails, stop here and fix your IBM MQ / ibmmq installation first.

Step 2 — Install this library

pip install robotframework-ibmmq

No magic. No hidden installers.


Usage example

*** Settings ***
Library    MQLibrary

*** Test Cases ***
Connect to IBM MQ
    Connect MQ
    ...    queue_manager=QM_EXAMPLE
    ...    hostname=mq.example.internal
    ...    port=1414
    ...    channel=SYSTEM.ADMIN.SVRCONN
    ...    username=${NONE}
    ...    password=${NONE}

    Disconnect All MQ Connections

This connects to a real queue manager using a real MQ channel.


MQ administration notes

If required:

  • Ensure the MQ channel exists and is running
  • Ensure the MQ listener is active
  • Common admin channel: SYSTEM.ADMIN.SVRCONN

Use IBM MQ Explorer or platform tooling to manage this.


Troubleshooting

Errors mentioning ibmmqc, DLL load failures, or missing shared libraries are IBM MQ / ibmmq environment problems.

Re-check:

  • IBM MQ installation
  • ibmmq prerequisites
  • Environment variables
  • 32-bit vs 64-bit mismatches

Official reference: https://github.com/ibm-messaging/mq-mqi-python?tab=readme-ov-file#prerequisites


Acknowledgements ❤️

Special thanks to UWV for sponsoring, supporting, and open-sourcing this library.

By funding real-world test tooling and releasing it as open source, UWV has contributed back to the broader Robot Framework and IBM MQ communities.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework_ibmmq-0.1.2.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robotframework_ibmmq-0.1.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_ibmmq-0.1.2.tar.gz.

File metadata

  • Download URL: robotframework_ibmmq-0.1.2.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for robotframework_ibmmq-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c9f64c1d6563090952e92f1c118bd72c48780f2bcba9ce280c061d0508cf3fc0
MD5 82c91def29f3aa6597b281ccbcaaba3d
BLAKE2b-256 f241fd3d56dd15f66141eeca2948400f348940ba62c10338aa50312f682dc5b5

See more details on using hashes here.

File details

Details for the file robotframework_ibmmq-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: robotframework_ibmmq-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for robotframework_ibmmq-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 99d7b1716392d764baea5ded113a9ba09e0bf224a9c684784e9aaa4d41064f4d
MD5 f11b27b0a8a2ae518734a307294dc3de
BLAKE2b-256 c610993b049b5ec1549073621c46e63fc55bddd319e5673e05e1279d9d1ec74a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page