【发布时间】:2014-11-03 13:55:20
【问题描述】:
我有一个 ajaxEditableLabelWithIcon,它是一个 ajaxEditableLabel,带有一个包含图标的修改过的 HTML。当用户单击此图标时,编辑器字段变为可编辑,当他再次单击时,内容被保存。我们使用 JQuery 做到了这一点:
function editOrSubmit(element){
panel = element.parentElement;
label = panel.children[0];
if(panel.find){
e = $.Event('keypress');
e.which = 13; // Enter key
label.trigger(e); //submit the FormTester
}
else{
label.click(); //Wich make the label editable
}
}
现在,我想使用 JUnit 对其进行测试。由于无法直接点击图标,我尝试创建一个函数的javascript快捷方式,然后创建一个Robot来触发KeyPressed事件:
// defining flags
var isCtrl = false;
var isShift = false;
$(document).ready(function() {
// action on key up
$(document).keyup(function(e) {
if(e.which == 17) {
isCtrl = false;
}
if(e.which == 16) {
isShift = false;
}
});
// action on key down
$(document).keydown(function(e) {
if(e.which == 17) {
isCtrl = true;
}
if(e.which == 16) {
isShift = true;
}
// En cas d'appui sur ctrl+Shift+F9 en même temps, la méthode editOrSubmit est appelée
if(e.which == 120 && isCtrl && isShift) {
var icon = document.getElementById("icon");
editOrSubmit(icon);
}
});
});
它在浏览器中运行良好,但在测试中没有任何反应?你知道为什么吗?
【问题讨论】:
标签: java javascript jquery testing wicket