【发布时间】:2015-02-11 09:30:55
【问题描述】:
所以我在 JQuery 中有大约 10 行代码块。这些行都是独立的,当我执行它们时(我只是在控制台中输入它们,它是一个自动测试)我需要它们彼此延迟,比如有 2 秒的差异。我开始在每一行上使用 JavaScript setTimeout(),但是对于 10 行单独的代码,我假设有一种更性感的方式来做到这一点......而且 JQuery DELAY 不起作用,因为这些不是效果。有任何想法吗?这是我的代码块的总体思路..
$("#tag1").trigger("click");
$('#tag2').val("some text");
$("#tag3").trigger("keyup");
$('#tag4 select option[value="4"]').prop('selected',true);
$("#tag5").val(6);
$('#tag6').val(3).change();
$('#tag7').val(30).change();
$('#tag8').val("2017-06-29");
$('#tag9').val("2015-06-29");
$('#tag10').val("This is the test tasks' description.");
$(".id1").trigger("click");
$(".id2").val("buy oranges");
如您所见,所有标签和 ID 都是唯一的... 任何想法将不胜感激!
【问题讨论】:
-
这听起来像是一些自动化测试,如果是这样,您是否尝试过使用 Selenium 之类的东西?它内置了这个功能。
-
一组匿名函数是一种选择。将它们递归地传递给一个使用
setTimeout的函数,每次都切掉第一个...... -
你可以试试 setInterval(function(){alert('HI')},2000)。
-
它实际上是自动化测试,但由于一些问题,我们无法使用 selenium,所以我必须自己构建这段代码:)
-
如果您可以提供您的页面 HTML 示例,我可以完成下面的工作示例。
标签: javascript jquery delay settimeout