Dans les expressions paramétrées de PTS, combinez les fonctions système avec des chaînes ou d'autres fonctions en les plaçant côte à côte. Aucun opérateur de concaténation n'est nécessaire. Toutes les expressions commencent par =.
Référence rapide
| Modèle | Syntaxe | Exemple de résultat |
|---|---|---|
| Chaîne + fonction | =abc${sys.random(1,20)} |
abc5 |
| Fonction + fonction | =${sys.random(1,20)}${sys.select("a","b","c")} |
12b |
| Fonctions imbriquées | =${sys.substring("abc${sys.random(1,20)}", 0, 1)} |
a |
Concaténer des chaînes et des fonctions
Placez une chaîne et une fonction système, ou deux fonctions système, côte à côte. Aucun séparateur n'est requis.
Chaîne avant une fonction
=abc${sys.random(1,20)}
Si sys.random(1,20) renvoie 5, le résultat est abc5.
Deux fonctions ensemble
=${sys.random(1,20)}${sys.select("a","b","c")}
Si sys.random(1,20) renvoie 12 et sys.select("a","b","c") renvoie b, le résultat est 12b.
Échapper les guillemets dans les paramètres
Les guillemets simples (') à l'intérieur des paramètres de fonction ne nécessitent pas d'échappement. Les guillemets doubles (") doivent être échappés en les doublant ("").
Guillemets simples
Utilisez directement les guillemets simples :
=${sys.md5("leo say 'hi'")}
Ceci calcule le hachage MD5 de la chaîne leo say 'hi'.
Guillemets doubles
Échappez chaque " en écrivant "" :
=${sys.md5("leo say ""hi""")}
Ceci calcule le hachage MD5 de la chaîne leo say "hi".
Fonctionnement de l'échappement : la paire externe de " délimite le paramètre. Chaque occurrence de "" à l'intérieur produit un seul caractère " littéral. Dans l'exemple ci-dessus, ""hi"" devient "hi".
Si vous omettez les guillemets doublés, PTS les interprète comme des délimiteurs de paramètres. Cela entraîne des résultats d'analyse inattendus ou des erreurs.
Utiliser des guillemets dans les fonctions imbriquées
Lorsque vous transmettez une fonction système en tant que paramètre à une autre fonction, les guillemets doubles (") autour de la fonction interne ne sont pas toujours requis. La nécessité d'utiliser des guillemets dépend de la construction du paramètre interne :
| Scénario | Guillemets requis ? | Raison |
|---|---|---|
| Le paramètre interne est un appel de fonction unique | Non | PTS résout directement la référence de fonction |
| Le paramètre interne implique une concaténation de chaînes | Oui | La chaîne concaténée doit être entourée de " |
| Le paramètre interne fait référence à un paramètre de fichier | Oui | Les valeurs des paramètres de fichier sont traitées comme des chaînes |
| Le paramètre interne est une chaîne JSON avec des variables | Oui | La structure JSON nécessite des délimiteurs de chaîne |
Fonction unique en tant que paramètre (sans guillemets)
Lorsque le paramètre interne est un appel de fonction autonome, omettez les guillemets doubles :
=${sys.substring(${sys.md5("${input1}${input2}")},2,5)}
La fonction externe sys.substring reçoit directement le résultat de sys.md5(...), donc aucun guillemet n'est nécessaire autour de ${sys.md5(...)}. À l'intérieur de sys.md5, les deux entrées sont concaténées (${input1}${input2}), cette concaténation est donc entourée de ".
Ordre d'évaluation :
${input1}et${input2}sont résolus en leurs valeurs (par exemple,helloetworld).sys.md5("helloworld")calcule le hachage MD5.sys.substring(<md5-result>, 2, 5)extrait une sous-chaîne commençant à la position 2 jusqu'à la position 5.
Concaténation de chaînes en tant que paramètre (guillemets requis)
Lorsque le paramètre de fonction est une chaîne construite par concaténation, entourez-la de " :
=${sys.substring("abc${sys.random(1,20)}", 0, 1)}
Le paramètre "abc${sys.random(1,20)}" concatène la chaîne abc avec le résultat de sys.random(1,20). Comme il s'agit d'une chaîne concaténée, elle doit être entourée de ". Le résultat est toujours a (le premier caractère de la chaîne concaténée).
Paramètre de fichier en entrée (guillemets requis)
Lorsqu'un paramètre de fonction provient d'un fichier de données, entourez-le de " :
=${sys.base64("${num2}")}
${num2} est un paramètre de fichier chargé depuis un fichier de données au moment de l'exécution. Les paramètres de fichier à l'intérieur des fonctions doivent être entourés de ".
Chaîne JSON avec variables (guillemets requis)
Lorsque vous construisez une chaîne JSON qui fait référence à des paramètres de fichier, entourez le JSON de " et échappez les guillemets doubles internes en les doublant :
=${sys.select("{""username"":""${username}""}","blue","green")}
Cet appel sys.select choisit parmi trois options :
{"username":"<value-of-username>"}-- un objet JSON avec le paramètre de fichierusernamebluegreen
Chaque occurrence de "" dans l'expression représente un caractère " littéral dans la chaîne JSON.