У меня есть набор дымовых экранов, которые все очень похожи. Я хотел бы поместить их в цикл и цикл в массив параметров. Тем не менее, тесты выполняются асинхронно, поэтому цикл завершается до запуска тестов. Это приводит к тому, что тест выполняется 8 раз по 8-му параметру вместо одного для каждого параметра.
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);
};
});
Кто-нибудь имеет представление о том, как заставить цикл ждать тестов?