Поставлена задача написать автотесты для сервиса, который использует авторизации для различных соц сетей.
Например, нужно перейти на страницу facebook/twitter/instagram выполнить логин, выполнить какие то действия типа - оставить пост на стене, добавиться в группу и тд. и после будет редирект на страницу, которая проверяется в ассертах теста.
Проблема в том что многие соц сети запрещают использовать инструменты автоматической авторизации.
Поэтому эти аккаунты просто блокируются, и тесты естественно падают.
В какую сторону копать, какие идеи вообще есть?
Возможно кто то использовал в автотестах похожие сценарии и как с этим боролись? Любые советы, идеи приветствуются.
Спасибо.
Не довелось еще на это писать автотесты, но чуть повангую. Думается мне что эту проблему можно решить настроенной автоматической авторизацией по профилю. То есть вы создаете профиль, логинитесь, соглашаетесь на все настройки автоматического ввода и тд. Затем при вызове драйвера из кода тестов вам нужно будет подсунуть ваш настроенный профиль в инит драйвера:
Поддержу @Mihail_Bratuhin, Думаю фейсбук умный и в любом слуае будет ловить все автоматические штуки…в противном случае таких роботов было бы уже милионы для раскруток страниц.
Дев инваирмент должен быть хороший выход из ситуации. +я бы не тратил время на открывание каких либо сторонних сервисов в браузере. АПИ запросы стабильней и быстрей. Уверен у всех популярных социалок есть апи доки. Тестить стоит своий продукт.
абсолютно согласен что тестировать нужно свой продукт. пытаюсь донести это до руководства. пока они стоят на своем - нам нужно проверять полностью все действия пользователя.
это выглядит так - наш сервис открывает страницу, далее проход по интерфейсу, нажимание кнопок/ссылок, далее идет авторизация в нужную соц сеть. далее снова идет нажатие нужных кнопок или написание например поста, потом наша система проверяет написан ли пост, и если да то переход на нужную страницу, например яндекс. эта авторизация похожа на процесс авторизации в метро, там похожая тема только на мобильнике.
я предложил проверять webdriver’ом часть до входа в соц сети. а далее сэмулировать два состояния - пост есть и поста нет. сделать это путем запросов ответов, каким то образом, софтом. пока еще не знаю как но думаю это возможно. такая идея.
Тут похоже больше организационный вопрос. Надо “гнуть свою” - test and dev для разработки\тестирования. Production для пользователей - никаких тестов, ну как минимум точно не автоматические тесты.
Еще конечно вариант сделать костылль на стороне апликейшина и по какому то ключу ходить не на реальные сервисы соц сетей, а на моки…Но это конечно тож трудозатратно и криво.
Это как раз продакшен, это дев и тестирование))) у нас софт такой, что то типа предоставления услуг в сети, но нужно пройти авторизацию через разные соц сети. вот оно че)
Мне довелось тестировать авторизацию через соцсети. Обычная задача, входит в состав смок тестов. И это одна задача, один кейс. С помощью селениума решается достаточно просто. Использовать заранее созданный профиль здесь не нужно, так как надо проверить именно авторизацию, то есть для “своего софта” это практически регистрация нового пользователя или авторизация старого с различными редиректами и мы проверяем “свой софт” а не софт соцсети.
А когда есть дальнейшая задача: оставить пост или сообщение, это уже другой кейс, где использование профиля как раз приветствуется, чтобы не терять времени на авторизацию.