Testcafe получает текст от элемента - PullRequest
3 голосов
/ 21 марта 2019

Я пытаюсь получить текст от модального на Chrome. Используя консоль, я могу получить внутренний текст следующим образом:

document.querySelector('.my-form > a').innerText
// returns http://a-url.com

Теперь в моем тесте я могу оценить элемент, используя

const myText = Selector('.my-form > a').innerText;
await t
  .expect(myText).contains('url');

и я могу даже нажать на этот URL

await t.click(myText);

но я не могу поместить этот внутренний текст в переменную, например. Я пытался использовать ClientFunction из этого поста

const getUrl = ClientFunction(() => document.querySelector('.my-form > a').innerText);

test('My Test', async t => {
const text = await getUrl();
console.log(text);
});

// this results in 
// TypeError: Cannot read property 'innerText' of null

и попытался использовать простой селектор, как этот пост предлагает

const text = Selector('.my-form > a').innerText;
const inner = await text.textContent;
console.log(inner);

// prints: undefined

Как извлечь текст из элемента? Я понимаю, что t.selectText ограничено в этом сценарии, верно?

1 Ответ

4 голосов
/ 25 марта 2019

Из документации вы хотите:

const text = await Selector('.my-form > a').innerText;

...