Durchschleifen eines Winkelmessertests mit Parametern

Ich habe eine Reihe von Smokescreen-Tests, die alle ziemlich identisch sind. Ich möchte sie in einer Schleife und Schleife an einem Array von Parametern setzen. Die Tests werden jedoch asynchron ausgeführt, sodass die Schleife abgeschlossen wird, bevor die Tests ausgeführt werden. Dies führt dazu, dass der Test 8-mal für den 8. Parameter ausgeführt wird, anstatt einmal für jeden Parameter.

describe('Admin Console Campaigns', function() {
    var ptor;
    var adminUrl;
    var testParams = [
        {title: 'Dashboard', urlSuffix: '/communic8' },
        {title: 'Campaign Report', urlSuffix: '/Reports/Campaign' },
        {title: 'Partner Campaign Usage', urlSuffix: '/Reporting/PartnerCampaignUsage' },
        {title: 'Campaign Template Usage', urlSuffix: '/Reporting/CampaignTemplateUsage' },
        {title: 'Email Usage Report', urlSuffix: '/Reports/EmailUsage' },
        {title: 'Campaign Templates', urlSuffix: '/CampaignTemplates' },
        {title: 'Campaign Template Groups', urlSuffix: '/CampaignTemplateGroups' },
        {title: 'New Template', urlSuffix: '/CampaignTemplates/Add' }
    ];

    beforeEach(function() {
        ptor = protractor.getInstance();
        ptor.ignoreSynchronization = true;
        var testParams = smokescreenTestConfig.adminCampaigns;
        adminUrl = ptor.params.http + ptor.params.client + ptor.params.staging + ptor.params.sharedvue + ptor.params.admin;
    });

    afterEach(function(){

    });

    for(var i=0; i < testParams.length; i++){
        var testParam = testParams[i];

        it('should have a ' + testParam.title + ' tab', function() {
            testUrl = adminUrl + testParam.urlSuffix;
            basicTestFunctions.pageExists(testUrl, ptor, browser, testParam.title);
        }, 60000);
    };
});

Hat jemand eine Idee, wie man die Schleife zwingt, auf die Tests zu warten?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage