Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как получить видимый текст (сокращённый на стороне css)

locators
selenide
selenium
webdriver
Теги: #<Tag:0x00007f7b6d1bc4d0> #<Tag:0x00007f7b6d1bbf80> #<Tag:0x00007f7b6d1bbe40> #<Tag:0x00007f7b6d1bbbe8>

(Pavel Ponomaryov) #1

Имеется элемент div, чей текст по замыслу обрезается на стороне css. Аля “оченьдлинныйтекстбезособогосмысла” будет выглядеть как “оченьдлинныйте…”. Стандартными средствами вебдрайвера я получаю только полный текст, а мне надо убедиться, что юзер видит именно укороченную версию. Кто-нибудь сталкивался с такой проблемой? Погуглил и ничего толкового не нашёл. Уже начинаю смотреть в сторону OCR


(Vasiliy Rakshin) #2

Полный тег с обрезанным текстом в студию!


(Pavel Ponomaryov) #3

тег из себя ничего особого не представляет. Это не поможет
<div class="..всякие классы..">оченьдлинныйтекстбезособогосмысла</div>


(Pavel Ponomaryov) #4

конкретно у данного класса определены такие свойства

где max-width определяет где будет отрезаться текст (тут я с ним игрался и значение произвольное)


(Artur Korobeynyk) #5

Используйте getCssValue(max-width) == 391px


(Pavel Ponomaryov) #6

этого я как раз пытаюсь избежать. Гарантирует ли это, что текст сокращён нужным образом? Не факт. Более того. Алгоритм поменяли, и теперь вырезается середина текста и добавляются …, то есть тут надо проверять текст по факту, а не какие там css атрибуты присутствуют


(Artur Korobeynyk) #7

Гарантировать что текст сокращен нужным образом должен браузер. Вы же не браузер тестируете, а страницу. Если браузер не в состоянии правильно обработать таблицу стилей, то это его проблемма, а задача верстальщика правильно эту таблицу составить. Проверяйте своего верстальщика, а не чужой браузер.


(Pavel Ponomaryov) #8

тут я не согласен. Это не проверка браузера, так как функцию для сокращения текста определённым образом написал наш программист, и брузер тут не при чём.


(Artur Korobeynyk) #9

После подгрузки страницы примените функцию к тексту вручную и получите её результат. Сравните с тем что вам надо.


(Artur Korobeynyk) #10

Ну а вобще не такую проверку лучше юнит тесты написать, а на странице просто проверить присутствие правильных классов, идентификаторов и таблиц стилей.


(Pavel Ponomaryov) #11

это да, юнит тесты не помешали бы


(asolntsev) #12

Сначала разберитесь, для чего обрезается текст?

  1. Если просто для красоты, то не тестируйте это вообще. Автотест должен проверять функциональность, а не красоту.
  2. Если это критично для функционала (скажем, из текста вырезается секретная информация), то он должен обрезаться на сервере, а не в CSS. И тогда вы сможете легко это проверить.

И да, как тут уже сказали, лучше всего - юнит-тесты.


(Pavel Ponomaryov) #13

Ограничено для красоты, чтобы не съезжала разметка. В общем ясно. Я думал, может есть какие-то стандартные средства для таких проверок, о которых я не слышал, но судя по всему их тупо нет. Будем полагаться на юнит тесты, значит.