У меня есть ajaxEditableLabelWithIcon, который является ajaxEditableLabel с измененным HTML, который содержит значок. Когда пользователь нажимает этот значок, поле редактора становится редактируемым, и когда он снова нажимает, содержимое сохраняется. Мы сделали это с помощью JQuery:Javascript function Wicket test
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. Поскольку я не могу просто нажать на иконке, я попытался создать яваскрипт ярлык для этой функции, а затем создать робот, чтобы вызвать 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);
}
});
});
Это хорошо работает в браузере, но внутри тест ничего не происходит? Ты знаешь почему ?