我的目标是创建一个自动E2E测试,填写表单并点击"发送"按钮。之后,我需要等待模拟api响应,然后再将测试设置为Passed。
第一个问题:在同样的E2E测试中这可能吗?
我使用AngularJs 1.5.5,ngMocks和Protractor \ Jasmine。 现在我可以使用
填写表单element(by.model('xxxx')).sendKeys('xxxx');
然后点击"发送"按钮使用
element(by.css('input[type="button"]')).click();
我还在页面中包含的新js文件中为此测试创建了一个api模拟器。代码如下:
var testAppDEV = angular.module('testAppDEV', ['testApp', 'ngMockE2E']);
testAppDEV.run(function ($httpBackend) {
// Api to save the form
$httpBackend.whenPOST('/api/save').respond(function (method, url, data) {
var formData = angular.fromJson(data);
if (Object.keys(formData).length == 3) {
// url, data, headers
return [200, { errorCode: null }, {}];
}
else
{
return [400, { errorCode: '1' }, {}];
}
});
});
现在我需要将代码添加到我等待模拟api响应的Jasmine测试中,并根据响应将测试设置为Passed或Failed。 你能救我吗?
这是第一步,因为下一步是将此测试与Jenkins集成,就像我使用单元测试一样。 欢迎提示:)