Size: a a a

JavaScript testing

2020 December 06

BO

Boris Osipov in JavaScript testing
ну это еще быстро. я думал пару лет.
источник

NA

Nikolay Aleksandrovi... in JavaScript testing
из-за этого-то и куча всяких трудностей
источник

NA

Nikolay Aleksandrovi... in JavaScript testing
зато не заскучаешь)
источник

BO

Boris Osipov in JavaScript testing
хз. ковыряния в таком не назовешь веселым...
источник

BO

Boris Osipov in JavaScript testing
а клик в сафари вообще не работает или в каких-то версиях\условиях? (мне тут тоже возможно светит сафари)
источник

NA

Nikolay Aleksandrovi... in JavaScript testing
что поделать
ну это я уже сам полез ковыряться, с костылями-то ездит
источник

NA

Nikolay Aleksandrovi... in JavaScript testing
источник

P

Paul G in JavaScript testing
Nikolay Aleksandrovich
гайс, подскажите, пожалуйста
wdio v5
никак не могу понять, почему getLocation() возвращает дробное значение
по идее он использует getElementRect() из w3c
который, как написано в документации (https://www.w3.org/TR/webdriver1/#get-element-rect) должен возвращать CSS pixels, так откуда дробное значение-то?
scrollX, scrollY у элемента 0, проверял, дело не в этом
просто стабильно получаю очень странное дробное значение по иксу

[0-0] rect: { height: 3, width: 220, x: 754.828125, y: 328 }

что в хэдлесс, что в хэдфулл режиме в Хроме 87

из-за этого приходится использовать Math.floor или round со значений, полученных с помощью getLocation для .click (потому что pointerMove принимает только int)
а из-за этого, в свою очередь, может "шататься" значение, которое я проверяю, и приходится, как говорит основатель этой группы, "приседать" с toBeNear вместо toBe в жасмине
В консоли сафари возвращает тоже дробное ?
источник

NA

Nikolay Aleksandrovi... in JavaScript testing
все возвращаются дробные, мы уже выяснили чуть выше, почему
источник

P

Paul G in JavaScript testing
Nikolay Aleksandrovich
все возвращаются дробные, мы уже выяснили чуть выше, почему
Чтоб не перечитывать, почему?
источник

NA

Nikolay Aleksandrovi... in JavaScript testing
https://drafts.fxtf.org/geometry/#rectangle

метод getBoundingRectangle возвращает данные unrestricted double
источник

NK

ID:0 in JavaScript testing
State of JS 2020 предлагает заполнить анкету в этом году!

Голосуем за ваши любимые фреймворки!

https://stateofjs.com/
источник
2020 December 07

AV

Alex Vershinin in JavaScript testing
ID:0
State of JS 2020 предлагает заполнить анкету в этом году!

Голосуем за ваши любимые фреймворки!

https://stateofjs.com/
источник

AV

Alex Vershinin in JavaScript testing
Затестил
источник

OK

Oleksandr Khotemskyi in JavaScript testing
видать много народу набежало ))
источник

C

Co Leader in JavaScript testing
just for a test
источник

NK

ID:0 in JavaScript testing
ARIA & WebDriver
Пару постов назад я писал о том, что в стандарте W3C WebDriver появилась пара новых операций для получения accessibility-информации об элементах. Это результат встречи W3C TPAC в сентябре 2019 года, где обсуждалось улучшение поддержки accessibility в WebDriver.

Суть идеи в том, что помимо WebDriver, есть другой подход к обеспечению "машинного доступа" к браузеру — это assistive-технологии, которые позволяют работать с веб-приложениями, используя, например, голосовой ввод. Основной целью таких технологий является посредничество между компьютером и людьми с ограниченными возможностями. Но те же самые технологии могут использоваться и "роботом", чтобы взаимодействовать с приложением "как человек". То есть вместо XPath-запросов и CSS-селекторов можно формулировать более семантически осмысленные запросы и команды типа "перечисли, какие есть пункты в меню" или "закрой диалог". Это можно сделать, если элементам назначены ARIA-роли и у них есть accessible-имена.

Конечно, это не означает, что в будущем в стандарт (и в API WebDriver) будут добавлены операции типа listMenuItems или closeDialog. Но зато можно сделать надстройку над WebDriver, которая будет иметь ARIA-ориентированный интерфейс. Именно для того, чтобы создавать такие надстройки, и добавлены в стандарт упомянутые выше операции.

Прототип такой надстройки (для языка JS) также был продемонстрирован на TPAC, вот его презентация и внутри неё есть ссылка на инструмент:
https://bocoup.github.io/presentation-aria-and-webdriver/

(Да, немного напоминает надстройки типа HtmlElements от Яндекса или JDI от EPAM, но строго ориентировано на ARIA-роли)
источник

V

Vova in JavaScript testing
Кто имел опыт с Playwright можете пож подтвердить или опровергнуть следующее умозаключение.
В случае с Playwright нам не нужно запускать каждый отдельный браузер в изолированном окружении как обычно делается для селениума с SeleniumGrid (я сейчас не говорю об удаленном запуске). Т.к. Playwright фактически и так изолирует сессию с помощью browser.newContext(); то мы можем смело запускать на одном хосте много браузеров во много потоков поскольку браузеры не будут конкурировать между собой за фокус в дисплее из-за хедлес, и куки не будут шариться между тестами т.к. используется каждый раз новый контекст
источник

AP

Alexander Popov in JavaScript testing
куки точно не будут
источник

AP

Alexander Popov in JavaScript testing
контекст это аналог драйвера в селениум, ничего между контекстами не шарится
источник