Диагностика события в инструментах разработчика браузера

Дело такое: бесполезно доносить до разработчика сведения в форме “при проверке функционала что-то пошло не так”. Если вы тестируете веб-приложение, первый вопрос будет “какой браузер, версия?”, второй вопрос “надеюсь, у тебя F12 всегда открыт”. Обычно F12 открывает окно Инструментов разработчика. Выглядит это так:

Это страница логина в почту Рамблера. Справа открылись Инструменты, в верхнем подокне я открыл Network, в нижнем – Console. Обратите внимание: в консоль Рамблер засылает пасхалку, в которой есть ссылка на вакансии Рамблера. Типа, если открыл Инструменты, уже в потенциале интересен работодателю. Поскольку на картинке мало что видно, вам нужно проделать все операции самостоятельно. Зайдите на http://r0.ru, нажмите ссылку Почта и нажмите F12 (если Мак, то Комманд + Опшн + J). В правом верхнем подокне перейдите в Network. В Маке чтобы начать запись сетевого обмена нужно нажать Комманд + R.

Сгенерим событие: ввожу в поле Логин свой валидный адрес почты, в поле Пароль – неправильный пароль и нажимаю Войти. Под полем ввода пароля появляется сообщение: “Неправильная почта или пароль”. В правом верхнем подокне бегут строчки сетевых пакетов, которыми страница обменивается с сервисами. Во втором столбце всюду видим код 200, это значит что все сервисы живы и отвечают на запросы. Как же найти собственно ошибку? При такой реализации сходу мы ее не увидим, то есть нам не помогают коды HTTP. Какой-нибудь код 500 можно получить, только если сервис полностью прилёг. В строчках пакетов нужно искать признаки обмена командами. В данном случае страница должна заслать сервису проверки паролей пару логин-пароль и получить разрешение на вход или ошибку. В зависимости от реализации системы это могут быть REST, SOAP или удаленный вызов процедуры (RPC – Remote Procedure Call). Порывшись в строчках, находим JSONRPC – вроде то, что нам нужно. Если кликнуть на этой строке, справа отобразится инфо о пакете. Наиболее интересные нам поля это Headers и Preview. Выберем Preview и увидим содержание в формате JSON, в котором содержится описание ошибки (там еще можно понажимать треугольнички, чтобы все сообщения раскрылись).

{jsonrpc: “2.0”,…}

jsonrpc: “2.0”

result: {error: {errno: -3000, strerror: “incorrect password”}, partner: {remote_ip: “”}, status: “ERROR”}

error: {errno: -3000, strerror: “incorrect password”}

errno: -3000

strerror: “incorrect password”

partner: {remote_ip: “”}

remote_ip: “”

status: “ERROR”

Вот это сообщение можно уже просто скопипастить и отослать разработчику (не в этом, конечно, случае. Если ввел неправильный пароль, то сам дурак, а вот если правильный и не вошел, тогда да. Всегда проверяйте, не нажат ли при этом CapsLock, а то иногда неловко получается).

Вы удивитесь, но не все приходящие на собеседование на вакансию Джуниор Тестер это всё могут. Качайте свои преимущества на правильных ресурсах!

Успешного тестинга.

Leave a Reply

Your email address will not be published. Required fields are marked *