我正在考虑在backbone.js和jquery中编写一些UI测试。它们可能不是最好的方法,但它是我正在考虑的事情 - 通过简单的代码自动化测试而无需记录和回放。
使用这种方法让我头脑发热的唯一原因是:在某些“用例流程”(执行中)中,会显示确认/警告对话框。我想点击“确定”并继续流程 - 这是否可以通过简单的JavaScript代码实现?怎么样?
注意:我确实知道GUI测试库存在,但我想知道如何使用jQuery / javascript代码,如果可能的话。
答案 0 :(得分:16)
据我所知,如果您使用标准alert()
调用,则无法触发“OK”点击,因为警报调用会阻止正常的JS事件循环。
但是应能够用您自己的函数替换window.alert
和window.confirm
:
window.alert = function() {
console.log.apply(console, arguments);
};
在加载任何其他内容之前将这些内容放在JS的顶部,然后对alert()
或confirm()
的任何后续调用都会调用这些内容。
答案 1 :(得分:3)
你想要这样的东西:
<script type="text/javascript">
var oldConfirm = confirm;
var oldAlert = alert;
confirm = function() {
return true;
};
alert = function() {
return true;
}
var response = confirm("Is this OK?");
if (response) {
alert("Yay");
}
else {
alert("Boo");
}
confirm = oldConfirm;
alert = oldAlert;
</script>