Регистрация и забытый пароль с временными ящиками почты

BBrbB4i.img

Решил написать небольшую заметку по поводу простого способа проверить регистрацию и восстановление пароля через почту. Как известно в большинстве сервисов регистрация идет через электронную почту, аккаунт привязывается к ней, восстановление пароля идет через отправку письма на нее же. Я встречал в сети описания как можно разворачивать собственный почтовый сервер и отправлять письма туда и другие, не самые простые способы. Они порой обусловлены недоступностью сети интернет и другими факторами и имеют право на жизнь. Я же предлагаю простой способ, который доступен, если выход в интернет все же есть — сервисы временной почты, с простым API.

Сами понимаете, что использовать реальные почтовые адреса, куда вам приходят уведомления о новых семинарах по тестированию и предложения от рекрутеров, не самый лучший выход (хотя я встречал и такое), по сути нам нужен временный почтовый адрес, желательно с возможностью создавать его в ходе выполнения тестов.

В итоге ищем бесплатные сервисы, предоставляющие не только почту, но и API для нее. Платные я сразу же не рассматривал и в итоге нашел сходу post-shift.ru, а также Guerilla Mail. В обоих случаях мы имеем очень простое API (только GET запросы, с параметрами в адресной строке), позволяющее создать новый почтовый ящик, проверять список писем, получать текст письма (для того чтобы получить вожделенную ссылку для подтверждения регистрации или восстановления пароля).

Особенности post-shift:

— создает обычный ящик на 10 минут, можно продлить время, если оно уже не истекло

— можно создать ящик с заданным именем на 1 час

— позволяет получать ответы как в виде json так и простым текстом

— можно очистить ящик, но нельзя удалить конкретное письмо

Особенности guerilla mail:

— позволяет создать новый ящик и не удаляет его, то есть сохранив токен, можно обращаться к нему и потом

— все ответы приходят только в формате json

— позволяет удалять письма из ящика, но нет возможности очистить ящик сразу

— позволяет задать имя для ящика, то есть текст который идет до знака @

— в тексте письма удаляет iframe, javascript код, апплеты

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

Лично мне понравились оба сервиса, у них есть различия из которых и можно исходить делая выбор

Для своего удобства накидал небольшие модули для использования API этих сервисов, правда на языке Python – так и быстрее и код короче, чем на Java. Можно посмотреть вот тут

Software-Testing.Ru

Реклама

Сравниваем скорости поиска элементов

cross

Я уже не раз писал, как и многие до меня, что несмотря на распространенное мнение поиск с помощью XPATH  не медленнее поиска с помощью CSS локаторов. Выдалась свободная минутка и решил потестить немного скорость поиска элемента с помощью разных локаторов и в разных браузерах: Chrome, Firefox, InternetExplorer. Естественно, замеры относительны и воспроизводимы с теми же цифрами только на моей машине, однако есть интересные тенденции.

В Python есть удобная утилита timeit в стандартной библиотеке, к сожалению не смог найти что-то похожее на Java, поэтому просто накидал метод который 100 раз подряд находит элемент по заданному  локатору и выдает среднее затраченное время.

Поиск проводил на странице https://google.ru  и по идее искал я один и тот же элемент, просто задавал различные локаторы для него. Время в миллисекундах.

Браузер

XPATH

CSS

ID

CLASS

NAME

‘//form[@class=’tsf’]’

‘form.tsf’

‘tsf’

‘tsf’

‘f’

Chrome 6-7 6-7 7 6 6-7
Firefox 3-5 4-5 3-5 3-4 3-4
IE 50 (!) 78(!!) 77-80 77-79 76-79

Я конечно знал, что Chrome быстрый, в последнее время я работаю только с ним, но не ожидал, что Internet Explorer будет настолько медленнее, искренне сочувствую тем, кому приходится тестировать УИ на нем!

Второй неожиданностью стало то, что Firefox пусть и немного, но побыстрее Chrome.

Плюс достаточно интересная вещь, что поиск через XPATH в IE вполовину быстрее всех остальных видов поиска, то есть тем бедолагам, что вынуждены его использовать, рекомендую все локаторы переписать на XPATH.

Естественно, замеры я проводил не один раз и в разном порядке, как 1  локатор за сессию, так и все подряд.

Не успокоившись на этом, запустил консоль Python, который сейчас активно осваиваю, и воспользовался утилитой timeit, которая выдает среднее время за указанное количество повторов функции. Локаторы и сайт естественно остались теми же. Цифры были уже другие, но закономерности сохранились, а именно: Firefox немного быстрее Chrome, Internet Explorer на порядок медленнее обоих браузеров, но при этом поиск по XPATH у него работает гораздо бодрее всех остальных.

Итак, выводы:

1) поиск по XPATH не быстрее CSS, а для браузера Internet Explorer даже наоборот, есть смысл все локаторы писать только на XPATH!

2) Chrome не самый быстрый браузер, пусть и совсем чуть-чуть, но Firefox ищет побыстрее, видимо обновления пошли на пользу Лисе

3) Internet Explorer must die!

4) поиск по id или class имеет только преимущество в удобстве написания локатора, если есть уникальные id или имя класса. Вопреки некоторым встреченным в интернете рассказам, поиск по id или class не быстрее остальных видов поиска

Вот тут пожно почитать про xpath, а вот тут про css!

Software-Testing.Ru