Передовая практика E2E-тестирования с использованием атрибутов данных [закрыто]Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Передовая практика E2E-тестирования с использованием атрибутов данных [закрыто]

Сообщение Anonymous »

Мы используем Cypress для тестирования E2E и собираемся приступить к переходу от селекторов тегов и имен классов к атрибутам данных, чтобы сделать селекторы менее хрупкими.
Мой вопрос касается использования атрибутов данных. Cypress рекомендует использовать data-cy, data-test или data-testid.
Некоторые из самых сложных селекторов включают выбор строки и столбца. со стола. Пример:

Код: Выделить всё



Name
Email
Phone



Bob Fish
bob@fish.co
123-123-1234

Shaggy Rogers
shag@mysteryinc.com
509-123-1235



Теперь, если мы используем data-test, как рекомендовано, я бы сделал что-то вроде этого:

Код: Выделить всё

...


...
...
...
Теперь я могу найти td с определенным значением, например

Код: Выделить всё

  cy.contains('[data-test="users-table"] [data-test="name-col"]', user.name).should('be.visible')
или лучше:

Код: Выделить всё

  cy.get(`[data-test="users-table"] [data-test="user-id-${user.id}"]`).within(() => {
cy.get('[data-test="name-col"]').should('have.text', user.name)
cy.get('[data-test="email-col"]').should('have.text', user.email)
cy.get('[data-test="phone-col"]').should('have.text', user.phone)
})
Но в духе «семантической разметки» мне хочется сделать что-то вроде этого:

Код: Выделить всё

...


...
...
...

 ...

Это позволит мне не смешивать значения атрибутов data-test="[noun]-[value]", такие как user-id-1, в затраты на создание собственного согласованного набора атрибутов data- (

Код: Выделить всё

data-entity
, data-col и т. д.)
Итак, каков правильный, объективный и совсем не основанный на мнениях способ использования атрибутов данных? Потому что мы знаем, что при разработке программного обеспечения никогда не бывает компромиссов и есть только один правильный ответ.
Кроме того, я также начал читать о библиотеке тестирования Cypress, которая, похоже, может в некоторой степени помочь получение некоторых элементов семантически значимым способом (например, роль или метка) но все равно останутся тонны разметки, которая не будет покрыта, если, возможно, я не начну бросать role= во все, что кажется как грязный хак и, вероятно, противоречит ARIA или какому-то другому стандарту W3C.

Подробнее здесь: https://stackoverflow.com/questions/782 ... attributes
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Передовая практика использования нескольких Dto для одного и того же объекта?
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Передовая практика использования нескольких Dto для одного и того же объекта?
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Передовая практика регистрации нескольких экземпляров приложений?
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Gcc-8 -Wstringop-truncation, какова передовая практика?
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Аннотация Java SafeVarargs, существует ли стандарт или передовая практика?
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Jquery»