2017-12-21 7 views
0

私は、POSTMANスクリプトを使用してパスワードを生成してパスワードを確認しようとしましたが、役に立たなかった。私は新しいパスワードを生成しようとしました 事前リクエストスクリプトは、次のようなです:リクエストボディで変数にアクセスするとPostmanスクリプトが異なる値を生成する

var newPass = "Ab{{$randomInt}}{{$randomInt}}!"; 
pm.environment.set("cs_newPassword", newPass); 

私はcs_newPassword変数を取得し、新しいパスワードと確認パスワードとしてそれを送信しよう:

{ 
"mobileBankerId" : "{{id_cs}}", 
"currentPassword" : "{{password_cs}}", 
"newPassword" : "{{cs_newPassword}}", 
"confirmPassword" : "{{cs_newPassword}}"  
} 

新しいパスワードと確認パスワードがサーバーで受け入れられると、新しいパスワードとパスワードの確認が一致しなかったため、新しいパスワードと確認パスワードが異なる値を持つため、拒否されました。

コードを表示するために「コードスニペットの生成」機能を使用した場合、変数cs_newPasswordの内容が表示され、同じ値になります。

実際に私はパスワードスクリプトを生成するのは一度だけですが、変数にアクセスしようとすると別の値を持つのはなぜですか?

答えて

1

私はあなたがそのようにグローバル関数を使用することができるとは思わない、彼らは唯一のヘッダーまたはURLで動作するように見えるなど

ポストマンはまた、あなたが使用することができ、いくつかの動的変数を持っていますあなたの要求で。 >これは主に今の実験です。すぐにもっと多くの機能が追加されるだろう。 >動的変数はサンドボックスで使用できないことに注意してください。リクエストURL/headers/bodyの{{..}}形式でのみ使用できます。

代わりに、代わりにこのようなことを行うことができます。郵便番号の{{$ randomInt}}関数は0から1000までの数値ですが、ネイティブJavaScriptでそれを行うことができます。

var randomInt = Math.floor((Math.random() * 1000)) 
var newPass = `Ab${randomInt}${randomInt}!`; 
pm.environment.set("cs_newPassword", newPass); 
関連する問題