小编hem*_*mul的帖子

角度场景e2e测试 - 在继续之前等待关键事件完成

人们如何编写涉及触发一系列UI事件的角度e2e测试?场景的异步性质似乎使其变得困难.

详细信息:我正在为一个具有大量密钥处理功能的应用程序编写测试,以帮助加快编辑专用表单的速度.我已将键盘扩展拉到了方案dsl(见下文),但只有测试的第一个关键事件才有效.即

keyboard().keydown(null, 'keydown', 40, false, true); // ctrl-down
expect(element('*:focus').text()).toEqual('00:04');
keyboard().keydown(null, 'keydown', 40, false, true); // ctrl-down
expect(element('*:focus').text()).toEqual('');  // but equals 00:04
Run Code Online (Sandbox Code Playgroud)

第二个keydown没有做任何事情,因为它没有找到*:focus来将键路由到(尽管屏幕上有一个).混乱.

angular.scenario.dsl('keyboard', function() { 
    var chain  = {}; 
    chain.keydown = function(selector, keyEvent, keyCode, shift, ctrl) { 
        return this.addFutureAction("keyEvent", function($window, $document, done) { 
            var jQuery = $window.$; 
            var e = jQuery.Event(keyEvent);
            e.keyCode = keyCode; // # Some key code value
            e.altKey = false;
            e.ctrlKey = ctrl;
            e.shiftKey = shift;
            if (selector == null) selector = '*:focus';
            var j = …
Run Code Online (Sandbox Code Playgroud)

testing angularjs angular-scenario

31
推荐指数
1
解决办法
1259
查看次数

标签 统计

angular-scenario ×1

angularjs ×1

testing ×1