Size: a a a

2020 May 28

AZ

Alexander Zgnetov in JS for testing
Здравствуйте. Есть задача протестировать функционал, связанный с почтой, например регистрацию пользователя с подтверждением ссылкой/кодом и сделать это красиво.

Проблема в том, что существующие решения и библиотеки позволяют работать с публичными сервисами типа Gmail или со сторонними платными сервисами по API типа Mailslurp, но от них то лучше не зависеть. Можно поднять локальный почтовый сервер из популярных, но это пушкой по воробьям, да и при переносе проекта к заказчику выглядит стремно.

В идеале хочется что-то типа локальной почты на js с API, которая из кода стартует и убивается, не оставляя следов, после каждого теста. Но ничего подобного не нашел.

Или опишите как у вас устроено тестирование регистраций/валидаций через почту.
источник

G

Gnam in JS for testing
Alexander Zgnetov
Здравствуйте. Есть задача протестировать функционал, связанный с почтой, например регистрацию пользователя с подтверждением ссылкой/кодом и сделать это красиво.

Проблема в том, что существующие решения и библиотеки позволяют работать с публичными сервисами типа Gmail или со сторонними платными сервисами по API типа Mailslurp, но от них то лучше не зависеть. Можно поднять локальный почтовый сервер из популярных, но это пушкой по воробьям, да и при переносе проекта к заказчику выглядит стремно.

В идеале хочется что-то типа локальной почты на js с API, которая из кода стартует и убивается, не оставляя следов, после каждого теста. Но ничего подобного не нашел.

Или опишите как у вас устроено тестирование регистраций/валидаций через почту.
На днях как раз задавался таким же вопросом.
В итоге подумываю либо Gmail API либо
использовать самый простой вариант с
https://endtest.io/mailbox

Во втором варианте генеришь рандомное мыло и в браузере стучишься как-то так:
https://endtest.io/mailbox?email=jim32328@endtest.io

Письма они хранят до 2 часов, что для моих нужд достаточно.
источник

AZ

Alexander Zgnetov in JS for testing
Gnam
На днях как раз задавался таким же вопросом.
В итоге подумываю либо Gmail API либо
использовать самый простой вариант с
https://endtest.io/mailbox

Во втором варианте генеришь рандомное мыло и в браузере стучишься как-то так:
https://endtest.io/mailbox?email=jim32328@endtest.io

Письма они хранят до 2 часов, что для моих нужд достаточно.
строго говоря, все чужое будет увеличивать степень хрупкости тестов
источник

MB

Michael Bodnarchuk in JS for testing
Alexander Zgnetov
Здравствуйте. Есть задача протестировать функционал, связанный с почтой, например регистрацию пользователя с подтверждением ссылкой/кодом и сделать это красиво.

Проблема в том, что существующие решения и библиотеки позволяют работать с публичными сервисами типа Gmail или со сторонними платными сервисами по API типа Mailslurp, но от них то лучше не зависеть. Можно поднять локальный почтовый сервер из популярных, но это пушкой по воробьям, да и при переносе проекта к заказчику выглядит стремно.

В идеале хочется что-то типа локальной почты на js с API, которая из кода стартует и убивается, не оставляя следов, после каждого теста. Но ничего подобного не нашел.

Или опишите как у вас устроено тестирование регистраций/валидаций через почту.
Если приложение работает локально - тогда можно использовать MailHog/MailCatcher
Если приложение где-то в интернете - то только Mailslurp/Gmail API
источник

AZ

Alexander Zgnetov in JS for testing
Michael Bodnarchuk
Если приложение работает локально - тогда можно использовать MailHog/MailCatcher
Если приложение где-то в интернете - то только Mailslurp/Gmail API
CI запускает тесты локально, собирая фронт.
источник

MB

Michael Bodnarchuk in JS for testing
тогда mailhog как раз идеальное решение - там есть REST API
надо только настроить приложение, чтоб оно отправляло письма в его порт
источник

AP

Alexandr Prokopovich in JS for testing
Alexander Zgnetov
строго говоря, все чужое будет увеличивать степень хрупкости тестов
использую Gmail API на проекте больше двух лет. Ни одного падения по вине Gmail
источник

MB

Michael Bodnarchuk in JS for testing
я думаю если есть возможность тестироваль локально - лучше так и делать
будет и быстрее и надежнее
источник

OK

Oleksandr Khotemskyi in JS for testing
Alexander Zgnetov
Здравствуйте. Есть задача протестировать функционал, связанный с почтой, например регистрацию пользователя с подтверждением ссылкой/кодом и сделать это красиво.

Проблема в том, что существующие решения и библиотеки позволяют работать с публичными сервисами типа Gmail или со сторонними платными сервисами по API типа Mailslurp, но от них то лучше не зависеть. Можно поднять локальный почтовый сервер из популярных, но это пушкой по воробьям, да и при переносе проекта к заказчику выглядит стремно.

В идеале хочется что-то типа локальной почты на js с API, которая из кода стартует и убивается, не оставляя следов, после каждого теста. Но ничего подобного не нашел.

Или опишите как у вас устроено тестирование регистраций/валидаций через почту.
я вот такое использую - https://www.inbucket.org/
источник

OK

Oleksandr Khotemskyi in JS for testing
Oleksandr Khotemskyi
я вот такое использую - https://www.inbucket.org/
тут главная загвоздка - настроить проброс портов и иметь статичный домен\айпишник.

Если хочешь можешь попробовать поигратся с моим -

вот юайка - http://ip-5236.sunline.net.ua:10010/

отправлять на ящик с доменом -
blabla@ip-5236.sunline.net.ua

Плюсик тоже работает:
blabla+ololo@ip-5236.sunline.net.ua


А потом можно взять мою либку-клиент чтобы тянуть почту через rest -

https://www.npmjs.com/package/inbucket-js-client
источник

OK

Oleksandr Khotemskyi in JS for testing
Понятно у меня никакой секьюрности нет, это так, только для моих штук
источник

AZ

Alexander Zgnetov in JS for testing
Oleksandr Khotemskyi
я вот такое использую - https://www.inbucket.org/
Пасибо. Это то же самое? https://github.com/Xotabu4/inbucket-js-client Ваше?
источник

OK

Oleksandr Khotemskyi in JS for testing
Да, это то же самое, просто проект есть на npm и на github
источник

OP

Oleksandr Pelykh in JS for testing
ребята, как перехватить permission popup?
источник

AP

Alexander Popov in JS for testing
Oleksandr Pelykh
ребята, как перехватить permission popup?
чем?
источник

OP

Oleksandr Pelykh in JS for testing
puppeteer/playwright
источник

OI

Oleksii Ihnatiuk in JS for testing
он умеет это дело
источник

PM

Pasha Masliyov in JS for testing
Oleksandr Pelykh
ребята, как перехватить permission popup?
именно перехватить, не выключить их появление?
источник

OP

Oleksandr Pelykh in JS for testing
Pasha Masliyov
именно перехватить, не выключить их появление?
да
покатит даже просто понять, что прилетел такой запрос

overridePermission или что-то подобное (что разрешает или запрещает наперед) не катит
источник

OP

Oleksandr Pelykh in JS for testing
нашел чето годное в CDP (Browser.PermissionSetting). но пока не понятно, как это заюзать в автомейшн туле. сложно...
источник