I am doing groovy scripting in ReadyAPI tool for API automation, i need to do 'CryptoJS.enc.Base64.parse("secretkey") .
But it says 'CryptoJs' not defined. Can any one help me on this?
I have already added 'crypto-js-3.1.9-1' jar file in readyapi bin/ext folder.
CryptoJS (from https://www.webjars.org/ I guess) is a JavaScript library - not Groovy.
You can't execute JavaScript code directly in groovy.
There are crypting algorithms supported natively in java/groovy. Just search by algorithm name + java.
I know that readyapi supports rhino javascript as scripting language, but i'm not sure it's possible to import external javascript libraries..
Related
Currently I'm involved in a project for implementing security code reviews for Workfusion bots. Workfusion can handle a mix of Java and Groovy code embedded in XML files or standalone code.
My team is trying to assess if it's possible to use any free/opensource Static Application Security Tool for it. I'm currently exploring the posiblity of creating a plugin for Spotbugs.
I was able to run reviews successfully with Java code + Maven with Spotbugs and FindSecBugs plugins, but I haven't figured out how to extend Spotbugs in order to parse the XML files, extract the embedded Groovy scripts and analyze them.
Do you know any static application security tool for Workfusion or could suggest any approach to extend any other SAST tool?
The main requirement for Find Security Bugs to work is the ability to compile the code.
If you have access to the class files, FindSecurityBugs should work. If the code is evaluate at runtime, you'll need to compile the snippet which is not an easy task if the script have access to a special context with initialized objects.
I have been using Selenium, Testng, Java, Maven to automate browser and I know these compliment each other. We can use one tool's method (APIs) in with other.
Now I have to automate using Nightwatch.js. During its initial setup I was asked to install node.js, but never got to know that why I need it? Why an installation of Nightwatch.js itself not enough?
I have tried to find out on Nightwatch's official page, but couldn't find out. Seems I am asking a very basic, foundation level question.
In a Nutshell:
NodeJS is a Javascript runtime that runs on the server. It is built on V8, Google's Javascript engine. This is the equivalent of the JVM and the Java Platform.
npm is a very popular package manager for the Javascript world and it is tighly integrated with Node. This is probably on the npm repositories that you will download Nightwatch.js. This is the package manager part of Maven for Javascript.
Nightwatch.js is a Node library that wraps Selenium for use in a Javascript environment. It is also a test runner, like JUnit or TestNG are for Java.
Hope this helps.
I am new to groovy I want to know the exact difference between Groovy JDK API Documentation and groovy api Documentation. I want to know the purpose of those api
Groovy adds additional methods to some JDK library classes (e.g String, File). These additional methods are known as the Groovy JDK and are documented here. All the methods that are available when using JDK classes in a Java program are also available when using them from a Groovy program.
I want to package a Groovy CLI application in a form that's easy to distribute, similar to what Java does with JARs. I haven't been able to find anything that seems to be able to do this. I've found a couple of things like this that are intended for one-off scripts, but nothing that can compile an entire Groovy application made up of a lot of separate Groovy files and resource data.
I don't necessarily need to have the Groovy standalone executable be a part of it (though that would be nice), and this is not a library intended to be used by other JVM languages. All I want is a simply packaged version of my application.
EDIT:
Based on the couple of responses I got, I don't think I was being clear enough on my goal. What I'm looking for is basically a archive format that Groovy can support. The goal here is to make this easier to distribute. Right now, the best way is to ZIP it up, have the user unzip it, and then modify a batch/shell file to start it. I was hoping to find a way to make this more like an executable JAR file, where the user just has to run a single file.
I know that Groovy compiles down to JVM-compatible byte-code, but I'm not trying to get this to run as Java code. I'm doing some dynamic addition of Groovy classes at runtime based on the user's configuration and Java won't be able to handle that. As I said in the original post, having the Groovy executable is included in the archive is kind of a nice-to-have. However, I do actually need Groovy to be executable that runs, not Java.
The Gradle Cookbook shows how to make a "fat jar" from a groovy project: http://wiki.gradle.org/display/GRADLE/Cookbook#Cookbook-Creatingafatjar
This bundles up all the dependencies, including groovy. The resulting jar file can be run on the command line like:
java -jar myapp.jar
I've had a lot of success using a combination of the eclipse Fat Jar plugin and Yet Another Java Service Wrapper.
Essentially this becomes a 'Java' problem not a groovy problem. Fat Jar is painless to use. It might take you a couple of tries to get your single jar right, but once all the dependencies are flattened into a single jar you are now off an running it at the command line with
java -jar application.jar
I then wrap these jars as a service. I often develop standalone groovy based services that perform some task. I set it up as a service on Windows server using Yet Another Java Service and schedule it using various techniques to interact with Windows services.
Have to execute scripts using spidermonkey(jagermonkey) javascript engine availalble within XULRunner.The javascript has some dependent Javascript libraries like requriejs/commonjs etc.
RequireJS provides documentation for Rhino/NodeJS javascript runtime environment.The documentation or testcases does not suggest anything about Spidermonkey scripting environment.
Is it possible to use requirejs with Spidermonkey?Any pointers on how to go about it ?
I am using the javascript runtime packaged within XULRunner 2.0.
For XULRunner in particular, you can take a look at the Firebug code -- it embeds requirejs with an adapter for running in XUL.