使用量角器spyOn()为jQuery ajax()导致错误"ajax()方法不存在"
Using protractor spyOn() for jQuery ajax() cause error "ajax() method does not exist"
我试着测试ajax是用来提交表单的。测试量角器代码为:
describe('login.php', function() {
it("should use ajax on submit", function() {
browser.get('/login.php');
spyOn($, "ajax");
$("form#frmLogin [type='submit']").click();
expect($.ajax).toHaveBeenCalled();
});
});
失败,并显示以下消息:
Error: ajax() method does not exist
怎么了?
其他测试进展顺利。这是Windows PC。量角器相依:
exports.config = {
allScriptsTimeout: 11000,
specs: [
'e2e/*.js',
],
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
args: ['--test-type']
}
},
chromeOnly: true,
baseUrl: 'http://mysite.local/',
framework: 'jasmine',
jasmineNodeOpts: {
defaultTimeoutInterval: 30000
}
};
我的环境有问题吗?
无法窥探jQuery,因为它是在浏览器中定义的,而不是在量角器测试中定义的。量角器测试是在浏览器外部运行的节点进程。它使用webdriver协议与浏览器通信。
我建议您为这种情况编写一个karma单元测试。
相关文章:
- "日期“;AJAX请求返回的类型值未定义
- "资源不足错误“;当从Chrome控制台重复发出ajax请求时
- "未捕获的SyntaxError:意外的令牌ILLEGAL“;当我通过AJAX发送html时
- 如何在“;beforeSend:function()"使用ajax和jquery
- $.Ajax投掷“;无效的参数"在IE9上
- 得到"parserror”;在jquery ajax中
- "显示更多“<h: 命令按钮>使用ajax
- "堆叠外空间”;同时通过AJAX调用填充jsTree
- "r 〃;在jquery-ajax-html的警报中
- 如何在ajax中返回文本文件值Asynchronous"Synchronous正在被弃用”;
- 得到"来自(127.0.0.1'33187)“;当使用$.ajax执行get请求时
- "SyntaxError:JSON.parse:意外字符"将多个变量从AJAX传递到PHP时出错
- 如何获得"这个值“;在jQuery.ajax上
- 得到"否'访问控制允许来源'标头存在于请求的资源上"对于我的JS AJAX而不是“;
- 使用ajax打印“;你好,世界"当你点击一个按钮时
- "对象没有't支持这一行动”;请致电Ajax.autocompleter
- 如何"递归AJAX回调”;在JavaScript工作中
- "风格"显示AJAX弹出窗口(vb.net)时出错
- javascript+jquery-ajax:有条件的"数据“;要素
- "重新打开最后一个关闭的选项卡“;导致显示最后一个ajax请求内容