测试量角器中没有循环



我有一个测试正在尝试修复。它需要点击每个结果,并验证初始结果与最终单个结果的价格和名称匹配。目前,我的代码只会点击第一个图像,但不会导航回结果页面来尝试下一个结果。我试图删除first(),因为我的理解是,该方法只接受第一个元素,而忽略其余元素。遗憾的是,这没有奏效。我错过了什么?

tester.it('links to the correct product details page when a result is clicked', () => {
const $offer = element.all(by.css('#main-results .catalog-offer')).first();
const offerResultsText = [];
let offerResultsPrice;
return Promise.all([
$offer.all(by.css('.offer-name .name-part')).map(($namePart) =>
$namePart.getText().then((partText) => offerResultsText.push(partText))
),
$offer
.element(by.css('.price'))
.getText()
.then((offerPrice) => (offerResultsPrice = offerPrice)),
])
.then($offer.element(by.tagName('a')).click)
.then(() =>
browser.wait(
protractor.ExpectedConditions.presenceOf(
element(by.css('#recently-purchased-details'))
),
5000
)
)
.then(() =>
expect(element(by.css('.details .subtotal > span')).getText()).to.eventually.equal(
offerResultsPrice
)
)
.then(() => {
return offerResultsText.map((sourceString) => {
console.log(sourceString);
return expect(
element(by.css('.details .setting .info')).getText()
).to.eventually.contains(sourceString);
});
});
});
发现我做错了什么。我需要删除return,然后使用我们的内部方法循环遍历结果url。最后看起来是这样的。。。
expect(testerUtils.getPageId()).to.eventually.equal('Recently Purchased Engagement Ring Details');
testerUtils.go(testContext.url);

最新更新