Webdriver.io:组合customCommand和execute以及最大调用堆栈

时间:2016-02-24 15:48:28

标签: node.js selenium extjs4 webdriver-io

我遇到了一个RuntimeError:未知错误:结合customCommand的简单执行超出了最大调用堆栈大小 这是我的代码:

var ExtQ = function(name){
    var ret = Ext.ComponentQuery.query('textfield[name='+name+']');
    return ret[0];
};


browser.addCommand('getIdFromExtName', function(name){
    return this.execute(ExtQ, name).then(function(ret){
        //console.log(obj.value);
        //console.log(ret);
        return ret.value.inputId;
    });

});

我这样用:

return this.getIdFromExtName(name).then(function(id){
       return this.setValue("#"+id, value).then(function(){
              return this.keys('Enter');
       });
});

我的错误:

Failed: unknown error: Maximum call stack size exceeded
running chrome
RuntimeError: unknown error: Maximum call stack size exceeded

我不知道我是怎么做出这么多电话的。 我的ExtJS代码也完美地在我的chrome DevTools控制台上运行。 有什么线索吗?

1 个答案:

答案 0 :(得分:0)

我解决了。我从ExtJS返回的对象太大了,所以我只是提取了我需要的数据。