Size: a a a

2020 June 08

M

Marina in JS for testing
Alexander Popov
Че будешь делать если захочешь на инпут кликнуть?
пока не сталкивалась с такой потребностью. Но всегда есть возможность добавить
selectors: {
  tapableInput: {
      i: "tFieldSelector"
  }
}

+ не-типовые элементы также присутствуют, но тогда просто не прогоняются через этот метод и описываются просто в selectors, без доп. вложенности
источник

OI

Oleksii Ihnatiuk in JS for testing
ООП подход мне больше нравится, чем такая порнуха с вложенностью объектов
источник

OI

Oleksii Ihnatiuk in JS for testing
Зачем усложнять представление селекторов, если их не выносить на уровень теста
источник

OI

Oleksii Ihnatiuk in JS for testing
Найти нужный селектор будет ещё та забава в полотне вложенных объектов. ничего сложного, но приятного мало
источник

OI

Oleksii Ihnatiuk in JS for testing
Делаешь классы с типовыми элементами и при инициализации передаешь селектор и что ещё надо. В пейдже инициализируешь прям в том методе, где будешь использовать.
источник

AP

Alexander Popov in JS for testing
Marina
пока не сталкивалась с такой потребностью. Но всегда есть возможность добавить
selectors: {
  tapableInput: {
      i: "tFieldSelector"
  }
}

+ не-типовые элементы также присутствуют, но тогда просто не прогоняются через этот метод и описываются просто в selectors, без доп. вложенности
Значит будет два селектора одинаковых в двух местах для одного элемента?
источник

M

Marina in JS for testing
Alexander Popov
Значит будет два селектора одинаковых в двух местах для одного элемента?
да, похоже на то)
(но - действительно - просто не сталкивалась)
источник

AP

Alexander Popov in JS for testing
Marina
да, похоже на то)
(но - действительно - просто не сталкивалась)
Ну это вроде не красиво, м? А что если надо проверить текст, который может быть в хедере, в ссылке, в таблице, на кнопке, в инпуте?
источник

AP

Alexander Popov in JS for testing
Мне это чем то напоминает библиотеку из джавы, где пробовали элементы типизировать...
источник

AP

Alexander Popov in JS for testing
А в чем профит такого подхода, с одним методом?
источник

M

Marina in JS for testing
Alexander Popov
Ну это вроде не красиво, м? А что если надо проверить текст, который может быть в хедере, в ссылке, в таблице, на кнопке, в инпуте?
не красиво, да.
справедливости ради - если где-то есть текст - то он, как правило, текст. И даже на кнопке - есть кнопка, а есть текст кнопки и у них свои разные селекторы) но да, нестыковки видны
источник

AP

Alexander Popov in JS for testing
Marina
не красиво, да.
справедливости ради - если где-то есть текст - то он, как правило, текст. И даже на кнопке - есть кнопка, а есть текст кнопки и у них свои разные селекторы) но да, нестыковки видны
Та может быть как угодно... На самом деле очень часто бывает что все друг в друге как попало... На даже если отдельно - уникальный локатор для кнопки найти легче, чем для текста на ней, значит в объекте с локаторами для текстов будет кусок локатора кнопки... И чем дальше - тем это все будет более запутанно
источник

M

Marina in JS for testing
Alexander Popov
А в чем профит такого подхода, с одним методом?
речь не идёт об одном методе вообще. Речи идёт, грубо говоря о том, чтобы часто используемые методы все вынести и объединить.
природа обделила меня оперативной памятью и при создании новой пейджи, когда много новых действий,  я как раз в "это элемент такой, у него такой тип, это такой метод, который из вот оттуда импортится" путаюсь. А когда сразу всё описано по типам - попроще таки, помнить не надо
источник

MB

Michael Bodnarchuk in JS for testing
Діма Потапов
Кто работал с codeceptjs и у него уже есть нормальное понимание как строить автоматизацию на нем, можно сделать livecoding, то что я попытался с ним сделать, мне показалось что он крайне не удобен и забагован
дык, давай созвонимся, может чем смогу помочь
источник

M

Marina in JS for testing
Alexander Popov
Та может быть как угодно... На самом деле очень часто бывает что все друг в друге как попало... На даже если отдельно - уникальный локатор для кнопки найти легче, чем для текста на ней, значит в объекте с локаторами для текстов будет кусок локатора кнопки... И чем дальше - тем это все будет более запутанно
в смысле кусок локатора кнопки в объекте с локаторами текстов? о,о пока исходя из этого прихожу к выводу, что иначе должен быть объект кнопки, в котором лежит локатор текста для кнопки
источник

AP

Alexander Popov in JS for testing
Marina
речь не идёт об одном методе вообще. Речи идёт, грубо говоря о том, чтобы часто используемые методы все вынести и объединить.
природа обделила меня оперативной памятью и при создании новой пейджи, когда много новых действий,  я как раз в "это элемент такой, у него такой тип, это такой метод, который из вот оттуда импортится" путаюсь. А когда сразу всё описано по типам - попроще таки, помнить не надо
Потому что есть пейджи, но они представляют собой структуру данных, а не объект... Если бы это была абстракция над страницей - у неё были бы понятные функции типа "headershouldhave(text)" - а как оно там проверяется не важно
источник

ДП

Діма Потапов... in JS for testing
Michael Bodnarchuk
дык, давай созвонимся, может чем смогу помочь
го)
источник

AP

Alexander Popov in JS for testing
Marina
в смысле кусок локатора кнопки в объекте с локаторами текстов? о,о пока исходя из этого прихожу к выводу, что иначе должен быть объект кнопки, в котором лежит локатор текста для кнопки
Смысл по как раз в создании абстракции которая будет прятать всякие локаторы, ассерты, клики и ховеры. И тогда после точки у тебя будет окошко с юзер-действиями в которых нельзя запутаться
источник

M

Marina in JS for testing
Alexander Popov
Смысл по как раз в создании абстракции которая будет прятать всякие локаторы, ассерты, клики и ховеры. И тогда после точки у тебя будет окошко с юзер-действиями в которых нельзя запутаться
да, но это на уровне описания теста.
я говорю именно о пейдже - селекторы (локаторы?) жеж именно на ней должны описываться?
источник

M

Marina in JS for testing
Alexander Popov
Потому что есть пейджи, но они представляют собой структуру данных, а не объект... Если бы это была абстракция над страницей - у неё были бы понятные функции типа "headershouldhave(text)" - а как оно там проверяется не важно
и, конечно, вопрос отвлечённый, но - почему структура данных не может быть объектом?)
источник