Size: a a a

2020 August 18

ДП

Діма Потапов... in JS for testing
=)))
источник

OK

Oleksandr Khotemskyi in JS for testing
Oleksandr Pelykh
и, кажется, пока менять аватарку чата )
Мы только за, предлагайте варианты )
источник

B

Bola in JS for testing
А я даже не смотрел ни разу на аватар)
Что-то красненькое)
источник

B

Bola in JS for testing
источник

G

Genn in JS for testing
Спасибо)
источник

S

Stas in JS for testing
Доброе утро
возник следующий вопрос по оформлению PapeObject

есть страница например myPage
на ней есть куча кнопок, c селекторами например button1Selector, button2Selector и тд
для кликов по этим кнопкам, я начал писать свои обертки на метод клик, чтобы спрятать селектор внутри метода
вместо browser.click(myPage.buttons.buttons1Selector)
получаю myPage.clickOnFirstBtn()
но в таком случае приходиться в самой странице описать все 10 методов клика по разным кнопкам

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

вопрос как правильно?

посмотрел вчера видео Александра Хотемского про pageObject, там прослеживается мой подход, но у него элементов намного меньше…
источник

OK

Oleksandr Khotemskyi in JS for testing
Stas
Доброе утро
возник следующий вопрос по оформлению PapeObject

есть страница например myPage
на ней есть куча кнопок, c селекторами например button1Selector, button2Selector и тд
для кликов по этим кнопкам, я начал писать свои обертки на метод клик, чтобы спрятать селектор внутри метода
вместо browser.click(myPage.buttons.buttons1Selector)
получаю myPage.clickOnFirstBtn()
но в таком случае приходиться в самой странице описать все 10 методов клика по разным кнопкам

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

вопрос как правильно?

посмотрел вчера видео Александра Хотемского про pageObject, там прослеживается мой подход, но у него элементов намного меньше…
browser.click это что за фреймворк?
источник

OK

Oleksandr Khotemskyi in JS for testing
Stas
Доброе утро
возник следующий вопрос по оформлению PapeObject

есть страница например myPage
на ней есть куча кнопок, c селекторами например button1Selector, button2Selector и тд
для кликов по этим кнопкам, я начал писать свои обертки на метод клик, чтобы спрятать селектор внутри метода
вместо browser.click(myPage.buttons.buttons1Selector)
получаю myPage.clickOnFirstBtn()
но в таком случае приходиться в самой странице описать все 10 методов клика по разным кнопкам

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

вопрос как правильно?

посмотрел вчера видео Александра Хотемского про pageObject, там прослеживается мой подход, но у него элементов намного меньше…
можешь сделать элементы публичными, это рушит инкапсуляцию, но зато нет дублирования

somePage.button1.click()
somePage.button2.click()
источник

S

Stas in JS for testing
Oleksandr Khotemskyi
browser.click это что за фреймворк?
перепутал
это wdio
в 4 версии был browser.click
сейчас $(myPage.buttons.buttons1Selector).click()
источник

OK

Oleksandr Khotemskyi in JS for testing
Stas
перепутал
это wdio
в 4 версии был browser.click
сейчас $(myPage.buttons.buttons1Selector).click()
да, вот и я помню что v4 уже давно не актуален
источник

S

Stas in JS for testing
Oleksandr Khotemskyi
можешь сделать элементы публичными, это рушит инкапсуляцию, но зато нет дублирования

somePage.button1.click()
somePage.button2.click()
у меня сейчас в самой пейжде лежат только селекторы, мне выглядит удобно. как плюс можно комбинировать селекторы например myPage.myElementSelector + states.focus

в видео ты доставал сами элементы, но там была сложность с ленивыми элементами, для этого прописывался отдельно get метод…

думаешь есть смысл в самой пейдже отдавать не селекторы, а элементы?
источник

AD

Andrei Dzeichyk in JS for testing
Stas
у меня сейчас в самой пейжде лежат только селекторы, мне выглядит удобно. как плюс можно комбинировать селекторы например myPage.myElementSelector + states.focus

в видео ты доставал сами элементы, но там была сложность с ленивыми элементами, для этого прописывался отдельно get метод…

думаешь есть смысл в самой пейдже отдавать не селекторы, а элементы?
а сейчас селекторы лежат в полях или в геттерах?
источник

S

Stas in JS for testing
Andrei Dzeichyk
а сейчас селекторы лежат в полях или в геттерах?
в объектах
секунду скину пример
источник

S

Stas in JS for testing
источник

OK

Oleksandr Khotemskyi in JS for testing
Stas
у меня сейчас в самой пейжде лежат только селекторы, мне выглядит удобно. как плюс можно комбинировать селекторы например myPage.myElementSelector + states.focus

в видео ты доставал сами элементы, но там была сложность с ленивыми элементами, для этого прописывался отдельно get метод…

думаешь есть смысл в самой пейдже отдавать не селекторы, а элементы?
да есть
источник

OK

Oleksandr Khotemskyi in JS for testing
Stas
у меня сейчас в самой пейжде лежат только селекторы, мне выглядит удобно. как плюс можно комбинировать селекторы например myPage.myElementSelector + states.focus

в видео ты доставал сами элементы, но там была сложность с ленивыми элементами, для этого прописывался отдельно get метод…

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

OK

Oleksandr Khotemskyi in JS for testing
я предпочитаю чейнить - $(‘’).$(‘’)
источник

AD

Andrei Dzeichyk in JS for testing
Согласен. Все уже сделано за нас. Конкатенировать селекторы - такая себе идея, тем более нужно всегда помнить про пробелы и тд. А если чейнить - то все отлично работает. Храните элементы, и у вас будет меньше проблем. Лейзи элементы не панацея, емое :)
источник

S

Stas in JS for testing
такс
тогда нужно еще раз пересмотреть видео и понять структуру страницы, а особенно тот необычный метод get
+ пошел искать примеры кода

спасибо, ушел думать
источник

YZ

Yehor Zakharov in JS for testing
Andrei Dzeichyk
Согласен. Все уже сделано за нас. Конкатенировать селекторы - такая себе идея, тем более нужно всегда помнить про пробелы и тд. А если чейнить - то все отлично работает. Храните элементы, и у вас будет меньше проблем. Лейзи элементы не панацея, емое :)
так кидали ж видос как сделать lazy elements в wdio
источник