Я делаю здесь простой тест, но я видел много людей, сталкивавшихся с этой проблемой, но, к сожалению, я не смог найти решение, поэтому я прошу вашего мнения. Теперь у меня есть этот строковый объект внутри ссылки:
...
<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 €');
});
Ошибка, которую я получаю в терминале, такова:
AssertionError: expected '12,45 €' to deeply equal '12,45 €'
Я действительно пытался найти решение, но либо я меняю определение с const
на let
и пытаюсь применить другие методы, все заканчивается ошибкой с ошибкой с разными сообщениями об ошибках. Итак, как я могу разобраться в приведенном выше случае? Спасибо!
EDIT: Спасибо за подсказки! Я отредактировал пост, потому что понял, что не упомянул, что уже пробовал то, что вы предложили...
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 €');
ошибка:
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, ''));
ошибаться
AssertionError: expected '12,45 €' to deeply equal '12,45 €'
У меня заканчиваются идеи здесь :)
) — это не то же самое, что обычный пробел. - person Andreas   schedule 18.10.2018