How are you doing, API testers?
If you do a lot of Groovy scripting in ReadyAPI, you might have already come to a need to use the same scripts in different tests and projects.
Instead of copying over the same code snippets again and again, you, of course, thought about a way to have them all in one place from where you could easily access them from other scripts.
The ways to achieve this are:
Create custom Groovy classes, embed your reusable Groovy scripts into their methods, save them as separate files with the .groovy extension and voila - your Script Library is ready. You just need to point ReadyAPI where to find it (Preferences > ReadyAPI > Script library). If you change anything in those external classes, ReadyAPI will detect this and reload the classes automatically.
Convert your Groovy code to Java code and embed it into methods of Java classes. Once the classes are compiled and packed into a .jar file, you can point to it from ReadyAPI (Preferences > ReadyAPI > Custom Java libraries) and start calling your Java methods right from your Groovy scripts. Making changes in Java classes is more time-consuming than in Groovy classes as you need to re-compile them, but you may find it more convenient to share them with your co-workers when it’s just a single .jar file.
Do you use script libraries or custom Java libraries to reuse parts of your ReadyAPI scripts?
And if so, what tasks are your reusable scripts for?
Another one of the best feature of the product.
The second point is new to me. However, if I am not wrong, it is not required to convert Groovy into Java code. Groovy classes can be compiled and jar be created and used directory. Just have to use Groovy Compiler(groovyc) instead of Java compiler (javac).
Both the cases, user have to write class files and methods, but not the scripts.
The best part in the first approach is that in case if there is any change in the class, the tool takes care of compiling it on certain interval and reload the changes automatically. In the second case, user have to take care of compiling, creating jar. Need a restart of tool? Not sure.
Again, this is limited to Pro software.
In the open source also, user can leverage it using "Create class, compile and create jar; place it under /bin/ext directory" which is almost smilary to 2nd approach mentioned in the above, But changes to the classes needs a restart in Open Source.
Regarding the uses, limitless and of course depending on one's needs.
Couple of them here;
- saving the responses to a file
- parsing requests / responses
- complex / custom comparision used across the tests
Here is nice artcle written by our expert @rupert_anderson
This is can be used by both open source and pro software users.
@sonya_m : Nice Question, which i was struggling when i started with ReadAPI as i was new i copied the same code again and again, but then on some blog i come around with below solution and with some modification i make it worked for me 🙂
In my current scenario, i have created 1 Resuable Test Suite, where i have placed all my reusable code in different Groovy Test Step. And i am calling those Steps where it is needed to me.
For the same, i am attaching 1 sample project which help other help seekers.
@nmrao : Yes you are right, i didn't think of it that i am copying same suite where ever i need it or in every project. Will remember this advice.
Thanks for letting me know. 🙂