testcafe - как утверждать текст, содержащийся в теле html

2

Я использую testcafe для тестирования api, но наш api требует входа в систему. Ниже мой код. Я отлично вижу ответ json. Но я не уверен, как утверждать на странице.

import { Selector } from 'testcafe';

import Page from './page';
// Page model
const page = new Page();
const url = 'https://myexample.com';

const elementWithIdOrClassName = Selector(value => {
  return document.getElementById(value) || document.getElementsByTagName(value);
});

fixture 'Test'
    .page(url + '/talent/career')
    .beforeEach( async t => {
      await t
      .typeText(page.username, 'gvp50')
      .typeText(page.password, 'password')
      .click(page.login_button)
    });



// Tests
test('Text typing basics', async t => {
    await t
      .navigateTo(url+'/api/learner/learning_items')
      .expect(Selector('html')).contains('learning_items');
});

Testcafe просто зависает после запуска этого кода. Я также пробовал Selector ("тело"), но он не работает.

Теги:
e2e-testing
automated-tests
assert
testcafe

2 ответа

3

Вам нужно указать, какое свойство свойства (состояние) вы хотите получить (проверьте).

После того, как вы выбрали весь элемент html (Selector ('html')), укажите, какое свойство (состояние) вы хотите получить (атрибуты, childNodes, стиль, размер и т.д.). См. Раздел " Состояние узла DOM", чтобы узнать больше.

Похоже, вы хотели получить доступ к текстовому контенту следующим образом:

.expect(Selector('html').textContent).contains('learning_items');

Однако такое использование селектора вряд ли станет причиной зависания, поскольку TestCafe будет правильно отображать сообщение о некорректном использовании селектора. Вы можете упростить свой тест и/или отладить его, чтобы найти причину зависания.

0
const cellcomparedata =await Selector('[role="gridcell"]').textContent;
console.log("cellcomparedata is",cellcomparedata);

либо вы можете использовать это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню