To connect ReadyAPI directly to your broker (Artemis) you do need to give ReadyAPI the Artemis client JARs and configure a JMS Request (JNDI or direct).
What to do (Artemis)
1. Put the Artemis client libs where ReadyAPI can load them.
Manual: drop the Artemis client JARs into `<ReadyAPI>/bin/ext`, then restart ReadyAPI. (This is the simplest.)
> Use Artemis client jars, not “ActiveMQ Classic” 5.x. Artemis’ JMS classes and JNDI factory are different.
Version note: ReadyAPI 3.61+ switched from `javax.jms` to `jakarta.jms`. Match your Artemis client to that namespace:
- ReadyAPI ≤ 3.60 → use javax.jms Artemis client
- ReadyAPI ≥ 3.61 → use jakarta.jms Artemis client
If you mix these, you’ll get `ClassNotFoundException`/`NoSuchMethodError` at runtime.
https://support.smartbear.com/readyapi/docs/en/test-apis-with-readyapi/jms-support.html
2. Configure the JMS Request in ReadyAPI. You can do either:
A) JNDI style (typical)
connectionFactory.ConnectionFactory=tcp://broker-host:61616
queue.MY.QUEUE=MY.QUEUE
topic.MY.TOPIC=MY.TOPIC
Then choose `ConnectionFactory` and `MY.QUEUE` in the step. (Names are your bindings.)
B) Direct (no JNDI)
ReadyAPI can connect straight to the provider if the client classes are present; use the “manual configuration” path and select Artemis’ connection factory (e.g., `org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory`) and set the broker URL.
3. Restart ReadyAPI so it picks up the libs, then create a JMS Request test step and send.
Common pitfalls we see
- Wrong client family: Using ActiveMQ 5.x (`org.apache.activemq.ActiveMQConnectionFactory`) for Artemis. Won’t work—use Artemis libs.
- Namespace mismatch: ReadyAPI 3.61+ expects jakarta.jms; older Artemis (javax) jars won’t load. And vice versa on ≤3.60.
- HermesJMS confusion: Hermes was removed years ago; use ReadyAPI’s built-in JMS or the connector plugin—don’t try to wire Hermes/JMSToolBox into ReadyAPI.
TL;DR mapping for your case (Artemis)
- Ignore JMSToolBox’s folder. Copy the Artemis client jars into `<ReadyAPI>/bin/ext`
- In the JMS Request, set Initial Context Factory to `org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory`, Provider URL to `tcp://…:61616`, and bind your queues via JNDI entries (or go direct with the Artemis connection factory).
- Make sure your Artemis client matches ReadyAPI’s javax/jakarta JMS version.
Let me know how it goes!
[1]: https://support.smartbear.com/readyapi/docs/en/test-apis-with-readyapi/jms-support/jms-manual-configuration.html "JMS Manual Configuration | ReadyAPI Documentation"
[2]: https://readyapi.sb-docs.com/en/test-apis-with-readyapi/jms-support/creating-the-connector-plugin "Creating the Connector Plugin | ReadyAPI Documentation"
[3]: https://activemq.apache.org/components/artemis/documentation/ "ActiveMQ Artemis Documentation"
[4]: https://support.smartbear.com/readyapi/docs/en/test-apis-with-readyapi/jms-support.html "JMS Support | ReadyAPI Documentation"
[5]: https://access.redhat.com/documentation/en-us/red_hat_amq_core_protocol_jms/7.11/html/using_amq_core_protocol_jms/configuration "Chapter 4. Configuration Red Hat AMQ Core Protocol JMS 7.11 | Red Hat ..."
[6]: https://activemq.apache.org/components/artemis/documentation/1.0.0/using-jms.html "Using JMS | ActiveMQ Artemis Documentation"
[7]: https://community.smartbear.com/discussions/readyapi-questions/readyapi-3-4-2-says-no-longer-support-hermes-jms-how-do-i-provide-endpoint-for-t/254543 "READYAPI 3.4.2 says no longer support hermes jms ... - SmartBear Community"