Что такое ycommerce: цель testId на Hybris (SAP CX Commerce)

В SAP Hybris (SAP CX) мы обычно видим OOTB следующий код:

<ycommerce:testId code="paymentType_text">
   ... some code ...
</ycommerce:testId>

Если мы нажмем на testID, появится описание «Визуализировать обертку текстового идентификатора», однако он ничего не печатает на dom, так какова цель использования этого тега?

заранее спасибо


person Jose Serna    schedule 27.05.2020    source источник


Ответы (1)


Это тег Hybris JSP. См. Следующие файлы:

  • /yacceleratorstorefront/web/webroot/WEB-INF/common/tld/ycommercetags.tld
  • /yacceleratorstorefront/web/src/de/hybris/platform/yacceleratorstorefront/tags/TestIdTag.java

TestIdTag описывается как:

Тег, который генерирует упаковку div с указанным идентификатором. К идентификатору добавлен суффикс увеличивающегося счетчика для запроса страницы, чтобы гарантировать его уникальность. Разделы обертки можно включать и выключать с помощью свойства конфигурации.

Идентификатор теста можно использовать для тестирования. Без идентификаторов может быть сложно использовать инструменты автоматизации тестирования, такие как Selenium, которые могут искать элементы HTML по идентификатору элемента.

Это также связано с этим свойством проекта:

# Turn on test IDs for selenium and smoke tests (not for production)
#yacceleratorstorefront.testIds.enable=true

Как прокомментировал Райххарт и как упоминалось в комментарии к свойству, это не должно быть включено в производственной среде, так как это может стать проблемой для безопасности.

person geffchang    schedule 27.05.2020
comment
Здесь также можно упомянуть, что вы не должны использовать идентификатор теста в производственной среде, поскольку это может несколько снизить безопасность. - person reichhart; 28.05.2020
comment
@reichhart Спасибо, что добавили информацию о безопасности. Комментарий для yacceleratorstorefront.testIds.enable рекомендует не использовать его в производственной среде, хотя и не указывает, почему. - person geffchang; 28.05.2020