Advice on using MPL to create DSL for Automated Tests for SOAP or REST

I'm looking to see if I can create a DSL using MPL that will easily build HTTP requests that will run as JUnit tests.

Background:

I started looking for better ways to do testing than SoapUI, Postman, or plain JUnit with rest library.
Ended up with Karate DSL. After spending a month of free time studying it and writing actual tests to our SOAP/REST API; I realized that I needed a way to extend the DSL provided in Karate. I was able to do that by hacking into one of the class in the karate-core project, but I would need to understand the internals of Karate to be confident in what I am doing.

So I took a step back and maybe try writing my own DSL. Maybe with the built-in Scripting support in Java. Maybe Groovy. And fortunately I found out about MPS via this guide:

The complete guide to (external) Domain Specific Languages

Looking at the intro youtube demos, I am amazed.

DSL:

I basically need what Karate does. But be able to create my own DSL so writing SOAP/REST tests is easier to write, more readable, and can serve as living documentation. Our SOAP API has a WSDL, so maybe I can use that for soap request generation.

Would appreciate any advice on how I should approach this. Is MPS a good fit to my problem?

Also curious, how come MPS isn't super popular yet? Are there major limitations?

2
1 comment

Yes, MPS can be of use here, as it is an advanced DSL tool. We in fact have customers that have created their own (domain-specific) testing DSLs to test their domain-specific code.

https://confluence.jetbrains.com/display/MPSD20182/Fast+Track+to+MPS is a good starting point to learn about MPS

1

Please sign in to leave a comment.