我有一个方案,在其中搜索文本字符串,该字符串可以是返回结果中任何字段的一部分,可以在标题中,也可以在返回的多个结果的摘要或说明中使用。我想编写一个可以匹配这3个字段的测试,如果其中任何一个为true,则我的测试应该通过。
如何将多个期望条件与OR条件放在一起。
您可以使用以下方法解决protractor.promise.all()
:
var title = element(by.id("title")),
summary = element(by.id("summary")),
description = element(by.id("description"));
protractor.promise.all([
title.isPresent(),
summary.isPresent(),
description.isPresent()
]).then(function (arrExists) {
expect(arrExists.reduce(function(a,b) { return a || b; })).toBe(true);
});
如果存在三个字段中的至少一个,则此测试将通过。
如果您要特别询问等待其中一个元素出现,则可以使用protractor.ExpectedConditions.or()
:
var title = element(by.id("title")),
summary = element(by.id("summary")),
description = element(by.id("description"));
browser.wait(EC.or(
EC.presenceOf(title),
EC.presenceOf(summary),
EC.presenceOf(description)), 5000);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句