Есть ли способ найти значения времени выполнения селектора с testcafe и VS Code - PullRequest
2 голосов
/ 07 мая 2019

Я пытаюсь отладить тест testcafe с узлом из VSCode и хочу убедиться, что селектор, использованный в коде, идентифицирует правильный элемент, и получить значения переменных, объявленных в функции / переменной, назначенной селектору.

Я запускаю файл test.js в режиме отладки с помощью команды: "C: \ Program Files \ nodejs \ node.exe" --inspect-brk = 21496 testcafe.js chrome tests.js --env =dev --skip-js-errors

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

let element= Selector(".unique_selector_class").parent(2);

Я ожидаю найти свойства выбранного элемента в режиме отладки.Например, длина элемента, если это массив, внешний текст элемента.

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

`async deleteSelectedComponentsMethod() 
{ 
  let element = await Selector(".uniqueSelectorClass"); 
  let numberOfSelectedComponents = element.length; 
  for (let i = 0; i < numberOfSelectedComponents; i++) 
  { 
     await t.click(deleteSelectedComponent.nth(i)); 
  } 
}`

В этом методе я хотел посмотреть, что находится внутри переменной 'element', чтобы я мог написать логику, как в коде.PS: элемент, который я пытаюсь идентифицировать, будет виден только при наведении мыши.

Значение в переменной 'element' возвращает функцию, которая не помогает найти значения времени выполнения в элементе

1 Ответ

2 голосов
/ 08 мая 2019

ОБНОВЛЕНИЕ :

Selector не возвращает массив, если ему соответствуют несколько элементов. Используйте await selector.count, чтобы получить количество подходящих элементов, и selector.nth(), чтобы перечислить их:

async deleteSelectedComponentsMethod() 
{ 
  let element = Selector(".uniqueSelectorClass"); 
  let numberOfSelectedComponents = await selector.count; 
  for (let i = 0; i < numberOfSelectedComponents; i++) 
  { 
     await t.click(deleteSelectedComponent.nth(i)); 
  } 
}

Подробнее о свойстве selector.count читайте в статье Использование селекторов .

ОРИГИНАЛЬНЫЙ ОТВЕТ :

Вы можете использовать ключевое слово await, чтобы получить информацию об элементах, представленных селекторами. Как только мы реализуем эту функцию: # 3244 , вы сможете отлаживать селекторы, набрав выражения селектора в консоли браузера.

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