Combine / Concat TestCafe Selector для повторного использования - PullRequest
0 голосов
/ 22 апреля 2020

Я использую шаблон объекта страницы, и часто мне нравится обращаться к элементу внутри другого селектора. Поэтому я просто хотел бы повторно использовать уже определенный CSS -селектор. Мой текущий обходной путь - просто определить простую строку.

Можно ли сделать что-то вроде:

const list = (listName) => Selector('#list' + listName)
const item = (itemName) => Selector(list, '#item-' + itemName)

Было бы даже достаточно получить текст CSS -Selector для Селектор типа:

const list = (listName) => Selector('#list' + listName)
const item = (itemName) => Selector(`${list.selectorText} #item-${itemName}`)

Или, что метод find поддерживает Селектор:

const list = (listName) => Selector('#list' + listName)
const item = (itemName) => list.find(Selector('#item-' + itemName))

1 Ответ

1 голос
/ 23 апреля 2020

Да, вы, безусловно, можете комбинировать строки селектора, поскольку это общая строка селектора css.

Примечание: testscafe тестирует действия API, такие как Click (https://devexpress.github.io/testcafe/documentation/test-api/actions/click.html) accept Строки в качестве аргументов. Если вам не нужно использовать методы класса Selector, такие как withText, nth et c., Вы можете написать тест следующим образом:

const listSelector  = (listName) => `#list${listName}`;

//somewhere in test:
  await t.click(listSelector('My List Name');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...