Size: a a a

JavaScript testing

2020 December 23

NS

Nick Silver in JavaScript testing
Oleksandr Khotemskyi
в плейврайт ретраи кстати решаются на уровне тест раннера твоего - мока или джест, что возьмешь
Ну я jest circus  прикрутил еще давно и доволен 😌
источник

AV

Alex Vershinin in JavaScript testing
+1 к playwright, если что)
источник

AV

Alex Vershinin in JavaScript testing
предыдущий проект начинал на cypress, так что примерно знаю, что там у него
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Alex Vershinin
предыдущий проект начинал на cypress, так что примерно знаю, что там у него
Расскажи вкратце если есть время. Интересно почитать
источник

AV

Alex Vershinin in JavaScript testing
Oleksandr Khotemskyi
Расскажи вкратце если есть время. Интересно почитать
Есть, а что именно интересно?) На самом деле на тот момент cypress имхо был лучше конкурентов, меня подкупила простота разработки и отладки (я про их раннер) и документация, мне особо не было важно запускать в нескольких окнах и у меня было мало опыта, поэтому всё это помогло стартануть и именно писать тесты. Селениумные решения я до этого пробовал и это боль лично для меня, порог входа просто жесть.

На текущем проекте смотрел в сторону cypress/puppeteer и увидел playwright. Взял и не жалею, в целом. Код действительно почище получается и ребята активно развиваются, я вот жду в 1.8 нативной поддержки мобилок, судя по коммитам они что-то делают 🙂 Ну и плюс у меня многостраничные сценарии, так что cypress отпал сам собой.
источник

AV

Alex Vershinin in JavaScript testing
Почему бы не попробовать использовать модное и молодёжное, если тебе дают выбор 🙂
источник

AV

Alex Vershinin in JavaScript testing
Оба фрейма с нуля писал, если что.
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Alex Vershinin
Есть, а что именно интересно?) На самом деле на тот момент cypress имхо был лучше конкурентов, меня подкупила простота разработки и отладки (я про их раннер) и документация, мне особо не было важно запускать в нескольких окнах и у меня было мало опыта, поэтому всё это помогло стартануть и именно писать тесты. Селениумные решения я до этого пробовал и это боль лично для меня, порог входа просто жесть.

На текущем проекте смотрел в сторону cypress/puppeteer и увидел playwright. Взял и не жалею, в целом. Код действительно почище получается и ребята активно развиваются, я вот жду в 1.8 нативной поддержки мобилок, судя по коммитам они что-то делают 🙂 Ну и плюс у меня многостраничные сценарии, так что cypress отпал сам собой.
Спасибо, а команда я так понял в тесты особо не вникала? Фронты обычно от радости пляшут когда сайпрес видят
источник

AV

Alex Vershinin in JavaScript testing
Oleksandr Khotemskyi
Спасибо, а команда я так понял в тесты особо не вникала? Фронты обычно от радости пляшут когда сайпрес видят
Я их просил писать юниты и они сопротивлялись. Как ты думаешь?))
источник

B

Bola in JavaScript testing
Oleksandr Khotemskyi
Спасибо, а команда я так понял в тесты особо не вникала? Фронты обычно от радости пляшут когда сайпрес видят
Если фронты сами будут активно писать на нем  - то стоит присмотреться. Но по факту - все ложится на плечи автоматизатора, если он есть в команде.
Я кипарис помучал 5 дней и понял, что меня воротит от местного синтаксиса и кучи приседаний, чего нет в том же кукловоде.
источник

OS

Oleksandr Shevtsov in JavaScript testing
Oleksandr Khotemskyi
сайпрес как jquery своего времени. Класный, функциональный, но навязывает свой стиль написания кода, и получается ты пишешь не на js а на cypress. Многие концепции на сайпресе не применимы или будут выглядеть подругому.

Но это все субьективно. В целом сайпрес любят и активно используют
Смотря какие задачи и цели. Если надо навернуть фреймворк, абстракции, фабрики, и "использовать js на полную" - то не подойдет. Если писать тесты - вполне.
источник

AV

Alex Vershinin in JavaScript testing
Oleksandr Khotemskyi
Спасибо, а команда я так понял в тесты особо не вникала? Фронты обычно от радости пляшут когда сайпрес видят
На самом деле особо никто не вникал, мне просто надоело делать огромный регресс руками, да и надо было развиваться.
источник

AV

Alex Vershinin in JavaScript testing
Bola
Если фронты сами будут активно писать на нем  - то стоит присмотреться. Но по факту - все ложится на плечи автоматизатора, если он есть в команде.
Я кипарис помучал 5 дней и понял, что меня воротит от местного синтаксиса и кучи приседаний, чего нет в том же кукловоде.
Я вот даже не знаю как бы я реагировал, если бы у меня был опыт на js. Смотрю иногда в старые тесты и такой "ох")) Без опыта нормально зашло)
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Alex Vershinin
Я их просил писать юниты и они сопротивлялись. Как ты думаешь?))
все будут сопротивлятся, думаю тут только контроль и помощь от сдетов
источник

OK

Oleksandr Khotemskyi in JavaScript testing
Oleksandr Shevtsov
Смотря какие задачи и цели. Если надо навернуть фреймворк, абстракции, фабрики, и "использовать js на полную" - то не подойдет. Если писать тесты - вполне.
Всегда начинается с писать тесты, а через пол года - как то само по себе получается фреймворк
источник

ДП

Діма Потапов... in JavaScript testing
Boris Osipov
так и есть. потом что в офф примерах оч любят такой код. потом оказывается как в slack - получилось много лапше тестов и все надо переписать.
в офф примерах еще можно читать что куда, но в реальной жизни пока все что вижу на сайпресе, не могу понять как это люди поддерживают и в чем кайф
источник

B

Bola in JavaScript testing
кто активно юзал jquery - им норм )
источник

MP

Mikhail Popov in JavaScript testing
Всем привет! Подскажите пожалуйста код:
class Name {
 firstName: string;

 secondName?: string;

 constructor(firstName: string, secondName: string) {
   this.firstName = firstName;
   this.secondName = secondName;
 }
}

class User {
 name: Name;

 id: number;

 constructor(name: {firstName: string, secondName?: string}, id: number) {
   this.name = name;
   this.id = id;
 }
}

const user = new User({ firstName: 'Name 1', secondName: 'Name 2' }, 1);
consoleconsole.log(user);

user.name = { firstName: 'Name 3' };
consoleconsole.log(user);
Консоль лог выводит два раза юзера со 2м присвоеным именем, подскажите плиз как сделать чтобы выводилось 2 разных юзера?
источник

AB

Alexei Barantsev 🗹... in JavaScript testing
Nick Silver
Согласен, извиняюсь. Пушится Cypress , так как там есть поддержка записи видео тестов из коробки + у некоторых разработчиков хорошие отзывы о нем .
Что интересно для сравнения:
1. Видел, что видео платное на сайпрессе, или это только если пользоваться их инфраструктурой?
2. Легко ли распараллелить?
3. Есть ли тулы для ретрая упавших тестов ?
в качестве ответной любезности за советы расскажите, почему решили мигрировать? не устраивает puppeteer? чем именно? что ожидаете от новых инструментов, какие проблемы они решат, которые puppeteer решает плохо?
источник

BO

Boris Osipov in JavaScript testing
Bola
кто активно юзал jquery - им норм )
да. а если не юзал то ты в аду Cypress.$().text() возвращает не array. нужно еще get() сделать. и такого много. и этого не особо есть в доках - нужно идти в SO и искать по куче ответов.
источник