在AngularJs 1.5.5中完成形式的E2E测试

时间:2016-05-04 10:30:35

标签: angularjs jenkins jasmine protractor angularjs-e2e

我的目标是创建一个自动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集成,就像我使用单元测试一样。 欢迎提示:)

0 个答案:

没有答案