testcafe - как утверждать текст, содержащийся в теле html - PullRequest
0 голосов
/ 10 октября 2018

Я использую 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 ('body'), но он не работает.

Ответы [ 2 ]

0 голосов
/ 17 июля 2019
const cellcomparedata =await Selector('[role="gridcell"]').textContent;
console.log("cellcomparedata is",cellcomparedata);

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

0 голосов
/ 10 октября 2018

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

После того, как вы выбрали весь элемент html (Selector (html)), укажите, какое свойство(состояние), к которому вы хотите получить доступ (атрибуты, дочерние узлы, стиль, размер и т. д.).Дополнительную информацию смотрите в теме DOM Node State .

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...