0

这是我的 javascript,我正在通过创建 4 个虚拟用户为我的网站手动编写压力测试。

<html>
 <head>
 <script type="text/javascript">
function test() {
var myStringArray = [ "user1", "user2" , "user3" , "user4" ]
var len = myStringArray.length;
for (var i=0; i<len; ++i) {
document.inform.cid.value=myStringArray[0];
document.inform.pw.value="xxxxxx";
document.inform.submit();
}
}
</script>
 </head>

 <body>
  <form name="inform" method="post"  target="newWin" action="http://localhost:8080/logon?debug=1">
  <input type="text" name="cid" >
 <input type="password" name="pw" />
<input type="hidden" name="throttle" value="999" />
    <input type="submit" value="go" onclick="test()">
  </form>
 </body>
</html>

当我运行上述程序时,它只提交一次,即最后一个用户。

我的要求是,我想用 4 个虚拟用户打开 4 个新窗口。

请让我知道,我怎样才能用 4 个虚拟用户打开 4 个新窗口。

谢谢 。

4

1 回答 1

1

您需要为表单的target属性提供不同的值,以便它们在新窗口/选项卡中打开:

例如:

for (var i=0; i<len; ++i) {

    document.inform.target = i; // a different target each time

    document.inform.cid.value=myStringArray[0];
    document.inform.pw.value="xxxxxx";
    document.inform.submit();
}

检查此演示使用 jQuery,但概念相同):http: //jsfiddle.net/dvJMx/


编辑

要在每次提交之间引入延迟,您可以执行以下操作:

演示:http: //jsfiddle.net/dvJMx/1/

var windowCounter = 1; // make sure you declare this globally

for (var i=0; i<len; ++i) {

    setTimeout(function() {
        document.inform.target = windowCounter++; // a different target each time

        document.inform.cid.value=myStringArray[0];
        document.inform.pw.value="xxxxxx";
        document.inform.submit();

    }, i*1000); // change 1000 to the interval you need in milliseconds

}
于 2012-11-06T15:27:16.517 回答