Какова цель normalize-space ()? - PullRequest
3 голосов
/ 25 апреля 2019

Я не очень хорошо понимаю цель normalize-space().Я думаю, что это очень полезно.На самом деле, я всегда использую его, когда выполняю тесты, но я не уверен в главной цели.

Например, в каких двух случаях, чем отличаются?В чем преимущество его использования?

Пример 1

WebElement seleccionLabelCabecera 
  = findBy(xpath("(//div[contains(normalize-space(@class), 
                                  'windowViewMode-maximized active')"]

Пример 2

WebElement seleccionLabelCabecera 
  = findBy(xpath("(//div[@class, 'windowViewMode-maximized active')"]

Ответы [ 2 ]

2 голосов
/ 25 апреля 2019

normalize-space xpath функция удалит начальные и конечные пробелы.

[источник msdn] Пробел нормализуется путем удаления начальных и конечных пробелов и замены последовательностей символов пробела одним пробелом. Если аргумент опущен, строковое значение узла контекста нормализуется и возвращается.

Пример:

<text>
    This is a
  test, with a   lot    of 
    irregular  spacing and
    waiting to be   normalizaed.


</text>

Результат без пространства нормализации

"

Это

тест, с большим количеством

нерегулярный интервал и

в ожидании нормализации.

"

Результат с помощью normalize-space

"Это тест с большим количеством нерегулярных интервалов и ожиданием нормализации."

Более подробное объяснение вы можете получить по ссылке ниже

https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/ms256063(v=vs.100)

2 голосов
/ 25 апреля 2019

Функция normalize-space() упрощает спецификацию тестов для строк, для которых вариации пробелов незначительны .

В ваших примерах рассмотримэтот дополнительный пробел до, между или после двух значений класса не должен иметь отношения к тому, найден ли ваш целевой div.Путем удаления начальных и конечных пробелов и объединения внутренних пробелов в единое пространство , normalize-space() упрощает тесты, в которых вариации пробелов не имеют значения.

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