Я делаю простой тест здесь, но я видел, что многие люди сталкивались с этой проблемой, но, к сожалению, я не смог найти решение, поэтому, поэтому я спрашиваю ваше мнение,Теперь у меня есть строковый объект внутри ссылки:
...
<div class="price">12,45 €</div>
...
Я создал этот небольшой тест для проверки значения строки:
import { t, Selector } from 'testcafe';
fixture `OfferPage`.page `https://www.verivox.de/applications/broadband/#/offer?i=eyJmaWx0ZXIiOltudWxsLDE2MDAwLDEsbnVsbCwiMDIyMSIsMSwxLDEsbnVsbCwxLDEsbnVsbCwtMSxudWxsLG51bGwsInByaWNlLWFzYyIsMixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsNl0sImRpYWxvZyI6W251bGxdLCJvZmZlckNyaXRlcmlhIjpbIjYxMzQ0NyIsIjE4MjkyIixudWxsLCIyNCIsMywyLCI1MDAwMCIsIjEwMDAwIixudWxsLG51bGwsMSxudWxsLG51bGwsbnVsbCwiMiIsMSxudWxsLCIwMjIxIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsMSw2LG51bGwsbnVsbCxudWxsXX0%3D`;
test('1', async () => {
const string = Selector('div.price');
await t.expect(string.innerText).eql('12,45 €');
});
Ошибка, которую я получаю в терминале, заключается в следующемone:
AssertionError: expected '12,45 €' to deeply equal '12,45 €'
Я действительно пытался найти решение, но либо я меняю определение с const
в let
и пытаюсь применить другие методы, все заканчивается ошибкой, с разными сообщениями об ошибках.Итак, как я мог разобраться, в приведенном выше случае?Спасибо!
РЕДАКТИРОВАТЬ : Спасибо за подсказки!Я отредактировал пост, потому что понял, что не упомянул, что уже попробовал то, что вы предлагали ...
let price = Selector('div').withAttribute('class', 'price');
const result = price.parent('div.centered-content effective-price-wrapper');
console.log(result);
await t.expect(result.innerText).eql('12,45 €');
err:
Cannot obtain information about the node because the specified selector does not match any node in the DOM tree.
еще одна попытка:
const string = await Selector('div.price')();
let pret = await Selector(string).innerText;
const rgx = / /gi;
await t.expect(pret.replace(rgx, '')).eql('12,45 €'.replace(rgx, ''));
err
AssertionError: expected '12,45 €' to deeply equal '12,45 €'
У меня заканчиваются идеи здесь:)