Javascript: var key = pm.environment.get('appKey);
var secret = pm.environment.get('appSecret); var ts = (new Date()).getTime()); var baseString = key + "-" + "2" + "-" + ts; var words = CryptoJS. enc.Base64.parse(secret); vaz macSignature = CryptoJS. HmacSHA256 (CryptoJS. enc. Utf8.parse (baseString), words); var macSignatureBase64 = macSignature.toString (CryptoJS. enc.Base64); macSignatureBase64 = macSignatureBase64.replace(/=/g, ""); mac SignatureBase64 = macSignatureBase64.replace(/\+/g, "-"); macSignatureBase64 = macSignatureBase64.replace(/\//g, "_"); postman.setEnvironmentVariable("signature", macSignatureBase64); postman, setEnvironmentVariable("timestamp", ts); On Thu, 3 Apr, 2025, 5:12 pm Christof, <c.schmalenb...@perfomatics.com> wrote: > Hi Abhitosh, > is the javascript script small in size? > If so you could remove or replace with dummies all hardcoded security > related parts and attach the script in this channel. > May be , that someone will take the challenge and migrate it to groovy . > It it is 100 lines or more I will not have the time to do that. Otherwise > I will give it a chance. > > Christof > > > > Am 3. April 2025 09:02:36 UTC schrieb Abhitosh Patil < > abhitosh...@gmail.com>: > >Unfortunately ChatGPT or other AI tools are not allowed in our > organisation > >network. > > > >On Wed, 2 Apr, 2025, 9:04 pm Abhitosh Patil, <abhitosh...@gmail.com> > wrote: > > > >> Thank you Chris. > >> I'll check this possibility. > >> > >> On Wed, 2 Apr, 2025, 9:03 pm Christof, <c.schmalenb...@perfomatics.com> > >> wrote: > >> > >>> Hi Abhitosh, > >>> groovy is one of the supported languages in jsr223 sampler. If your > >>> javascript has not thousand codelines, I'm very optimistic, that with > the > >>> help of chatGPT you should be able to migrate your code > >>> from js -> groovy. > >>> regards > >>> Christof > >>> > >>> > >>> Am 2. April 2025 14:49:15 UTC schrieb Abhitosh Patil < > >>> abhitosh...@gmail.com>: > >>> >Initially I was using Java 17 but later switched to java 8 > >>> >Currently getting error like "javax.script.scriptExecution: reference > >>> >error: pm is not defined. > >>> > > >>> >Rhino or Graalvm are not available on our company download portal. > >>> > > >>> >I don't know anything about Groovy. > >>> > > >>> >On Wed, 2 Apr, 2025, 8:10 pm Dmitri T, <glin...@live.com> wrote: > >>> > > >>> >> 1. > >>> >> You answered your own question: JavaScript code cannot be run in > >>> JMeter. > >>> >> > >>> >> > >>> >> 1. > >>> >> Also, if you're on Java 15+ you won't be able able to choose > >>> JavaScript > >>> >> in JSR223 test elements because it has been removed from JDK< > >>> >> https://openjdk.org/jeps/372> > >>> >> 2. > >>> >> There could be inconsistencies between Postman JavaScript API and > >>> JMeter > >>> >> so you won't have access to pm. namespace in JMeter > >>> >> > >>> >> > >>> >> So you either need to restore JavaScript engine by adding Mozilla > >>> Rhino< > >>> >> https://github.com/mozilla/rhino> or switching to GraalVM< > >>> >> https://www.graalvm.org/> or re-write your code in Groovy. The > latter > >>> >> option is better from performance perspective as Groovy scripts can > be > >>> >> compiled and cached and it matters especially for "heavy" tasks like > >>> >> cryptography. More information: Apache Groovy: What Is Groovy Used > >>> For?< > >>> >> https://www.blazemeter.com/blog/apache-groovy> > >>> >> > >>> >> > >>> >> > >>> >> ________________________________ > >>> >> From: Abhitosh Patil <abhitosh...@gmail.com> > >>> >> Sent: Wednesday, April 2, 2025 5:14 PM > >>> >> To: JMeter Users List <user@jmeter.apache.org> > >>> >> Subject: Need to execute javascript using JMeter > >>> >> > >>> >> We have a requirement to generate unique authentication signature to > >>> pass > >>> >> as a header in API request. We have a pre-request javascript for > same > >>> in > >>> >> postman tool. > >>> >> > >>> >> Same javascript we tried in JMeter using jsr223 and beanshell > >>> elements. But > >>> >> it's not working. Any solution for this? > >>> >> > >>> > >> >