gpt4 book ai didi

loops - 使用参数循环进行 Protractor 测试

转载 作者:行者123 更新时间:2023-11-28 19:42:05 25 4
gpt4 key购买 nike

我有一组几乎完全相同的烟幕测试。我想将它们放入一个循环中并在参数数组处循环。但是,测试是异步运行的,因此循环在测试运行之前完成。这导致测试在第 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);
};
});

有没有人知道如何强制循环等待测试?

最佳答案

好吧,不久前就想通了,对不起,我忘了我已经在这里发布了。我们基本上在另一个文件中创建了一个配置数组,(虽然这不是必需的,只是让代码更容易阅读)然后将该数组拉入我们想要重复的测试上方的 var 中。然后我们将测试包围在一个循环内的函数中,并在每个循环中传递数组中的行。

var testParams = testConfig.testArray;

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

(function (testSpec) {
it('write your test here', function () {
//test code here
});
})(testParams[i]);

};

这里的关键是在循环迭代中传递的函数末尾的“testParams[i]”。这会强制同步执行。

如果你想变得非常疯狂,我们最终还编写了一个批处理文件,该文件在我们所有的客户端上连续运行大约 50 次这个烟幕。我们在大约 10 分钟内烟幕化了整个平台。

关于loops - 使用参数循环进行 Protractor 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21634558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com