【问题标题】:Javascript function Wicket testJavascript函数检票口测试
【发布时间】: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


    【解决方案1】:

    不幸的是,Wicket 和 JUnit 不能测试 JavaScript 代码,只能测试 Java 代码。但是,Wicket 本身使用 Maven 和 frontend-maven-plugin 通过 Maven 运行 QUnit 测试。您可以查看 testing/wicket-js-tests (https://github.com/apache/wicket/tree/master/testing/wicket-js-tests) 中的 Wicket 代码,了解 Wicket 是如何完成的,您可以复制运行测试所需的代码。

    【讨论】:

      猜你喜欢
      • 2013-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      相关资源
      最近更新 更多