Я тестирую страницу с отфильтрованными продуктами по заголовкам и хочу установить предположение о правильности теста: все заголовки на странице состоят из СЛОВА «Juvederm», а НЕ любых других заголовков («Emla»,«Coolsense» и т. Д.)).И должен найти ТОЛЬКО название по первому слову - Juvederm (не полное название: JUVEDERM® ULTRA SMILE Europe; JUVEDERM® VOLBELLA WITH LIDOCAINE Europe).
HTML одного продукта:
<div class="col-xs-12 col-sm-6 col-md-4 block_history_" style="">
<section class="product">
<div class="product__holder">
<a href="https://www.cosmedicalsupplies.com/.html" class="product__category"></a>
<h2 class="product__title">
<a href="juvederm-hydrate.html">JUVEDERM® HYDRATE™ Europe</a>
</h2>
</div>
</section>
Мой код console.log (s) правильно (если на странице доступно «Juvederm» - оно показывает «Прошло ", если нет -" НЕ ПРОЙДЕНО ":
it("products titles on the page should be Juvederm", () => {
let product = $$(".product > div > h2 > a");
browser.get(«…/advanced_search.html?keyword=juvederm");
product.each(function(element, index) {
element.getText().then(function(text) {
if(text.indexOf("JUVEDERM®") !== -1) {
console.log(«Passed»);
}else{
console.log("NOT PASSED");
}
});
});
});
Но я решила для себя, что мне нужно иметь ожидание. Как / где его установить? И какое ожидание должно быть? Когда я использую в«Если»
expect(order.product.getText()).toEqual(text);
Я получаю ошибку об отличиях текстов:
JUVEDERM® HYDRATE™ Europe toEqual JUVEDERM®
Когда я использовал в «Если»
browser.wait(() => {
return EC.textToBePresentInElement(order.product);
}, 3000, "ASDF");
Пройдено (ноМне нужно увидеть «JUVEDERM®», а не «ASDF»).
Пожалуйста, советуйте что-нибудь.