1
votes

Remplacer le blanc par la date

def request = response.replaceAll('""', ${DATE_PLUS_10})
String c = ${__timeShift(yyyy-MM-dd,,P10D,)} -

0 commentaires

4 Réponses :


1
votes

N'utilisez pas la syntaxe $ {} dans le script JSR223,

Vous pouvez ajouter un préprocesseur Paramètres utilisateur

Permet à l'utilisateur de spécifier des valeurs pour les variables utilisateur spécifiques aux threads individuels

Ajoutez une variable comme DATE_PLUS_10 avec la valeur:

 String c = vars.get("DATE_PLUS_10");

Ensuite, utilisez-la dans le script

  ${__timeShift(yyyy-MM-dd,,P10D,)}


0 commentaires

0
votes

vous pouvez utiliser une variable globale ou utilisateur et après cela, vous pouvez écrire

def DATE_PLUS_10=vars.get("DATE_PLUS_10")
log.info(DATE_PLUS_10)
def response = "2020-05-01"//prev.getResponseDataAsString()
log.info('Response Initial: ' + response)
def request = response.replaceAll('""', DATE_PLUS_10)
log.info('Response Massaged: ' + request)

Comme mentionné dans la réponse précédente, vous ne pouvez pas utiliser $ {} dans le processeur JSR223.

p>


0 commentaires

0
votes

J'ai essayé ci-dessous ce préprocesseur beanshell.

def mydate =vars.get("FUTUREDATE");
log.info("my date" + mydate)
def response = prev.getResponseDataAsString()
log.info('Response Initial: ' + response)
def request = response.replaceAll('""', mydate)
log.info('Response Massaged: ' + request)
vars.put('request', request)
//vars.putObject('request', 'request');
System.out.println(${request});

Et utilisé le post-processeur JSR

import java.text.SimpleDateFormat; 
    import java.util.Date; 

    Date date = new Date(); 
    date.setDate(date.getDate()+10); 
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); 
    // or: SimpleDateFormat df = new SimpleDateFormat("MM-dd-yyyy"); 
    String formattedDate = df.format(date); 
    vars.put("FUTUREDATE",formattedDate); 

Problème résolu maintenant.


0 commentaires

0
votes

Ne pas intégrer les fonctions ou variables JMeter dans les scripts, vous pouvez utiliser la section "Paramètres" à la place comme:

entrez la description de l'image ici

ou si vous veulent du code Groovy "pur":

def newDate = new Date().plus(10).format('yyyy-MM-dd')

entrez la description de l'image ici

Plus d'informations:


0 commentaires