我试图测试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。量角器conf:
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
}
};
我的环境有问题吗?
答案 0 :(得分:2)
你不能监视jQuery,因为它是在浏览器中定义的,而不是在量角器测试中定义的。您的量角器测试是在浏览器外部运行的节点进程。它使用webdriver协议与浏览器进行通信。
我建议你为这种情况在业力中写一个单元测试。