seleniumテストでは、すべての場合に5桁の数値を取得するための値プロバイダーが必要です。 javascriptの問題は、Math.random
のapiが0.
開始フロートの生成のみをサポートすることです。したがって、10000
と99999
の間になければなりません。
したがって、0.10000
以上を生成するだけであれば簡単ですが、0.01000
も生成します。したがって、このアプローチは成功しません。
Math.floor(Math.random()*100000+1)
(式で)あらゆる場合に5桁の数字を生成することは可能ですか?
どうですか:
Math.floor(Math.random()*90000) + 10000;
はい、任意の範囲で乱数を作成できます:
var min = 10000;
var max = 99999;
var num = Math.floor(Math.random() * (max - min + 1)) + min;
または簡略化:
var num = Math.floor(Math.random() * 90000) + 10000;
たとえば、郵便番号を生成する場合、使用できる5桁であれば先頭のゼロを気にしません:
(""+Math.random()).substring(2,7)
次の関数を使用して、任意の最小および最大数を含むランダムな整数を取得できます。
function getRandomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
その他の例やその他の使用例については、 Math.random MDN documentation をご覧ください。