FAQ

Что такое тест-кейс или тестовый сценарий и зачем он нужен?

Tест-кейс — это запись действий пользователя в приложении, которую в дальнейшем можно воспроизводить при автоматическом сканировании. Такой подход позволяет избавиться от необходимости выполнять одни и те же действия, например при сканировании новых версий приложения. Более подробная информация приведена в разделе «Тест-кейсы» Руководства пользователя.

Чем отличается ручной режим сканирования от автоматического?

При ручном сканировании пользователь самостоятельно выполняет все действия в приложении (клики по кнопкам, ввод текста и т. д.) и завершает сканирование. Автоматическое сканирование выполняется без участия пользователя по заранее записанному тестовому сценарию (тест-кейсу), после воспроизведения которого сканирование автоматически завершается. Более подробная информация о видах сканирования приведена в разделе «Запуск сканирования» Руководства пользователя.

Можно ли запустить автоматическое сканирование без записи тестового сценария?

Да, это можно сделать, используя CLI-инструмент mdast_cli от Стингрей. В этом случае во время сканирования приложение будет запущено, но никакие действия в нем выполняться не будут. В течение 10 секунд после запуска приложения сканирование автоматически завершится. Более подробная информация приведена в разделе «Запуск сканирования из командной строки» Руководства пользователя.

При запуске автоматического сканирования записанный тест-кейс не воспроизводится как должен, почему это происходит?

Запускаемое во время сканирования приложение подвергается вмешательству модулей Стингрей, что оказывает влияние на скорость его работы и, как следствие, на время появления и пропадания элементов интерфейса. При записи тестовых сценариев рекомендуется делать небольшие (2-3 секунды) задержки между действиями в интерфейсе приложения. Так же при записи тест-кейса стоит обратить внимание на то, что некоторые действия в приложениях невозможно повторить дважды (создание сущностей с одинаковыми именами, удаление уникальной сущности и т. п.).

Сканирование или тестовый сценарий находится в состоянии «Создан» и не меняется, почему это произошло?

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

Что означают ошибки «Main Window lost focus» и «Too much NRN messages»?

Перед началом сканирования или записью тестового сценария проводится автоматическая проверка того, что основное окно приложения не перекрывается никакими сообщениями, диалоговыми окнами и т. п. Если целевое приложение не загрузилось либо на экране отображается другое приложение, возникает ошибка «Main Window lost focus». Если же перекрывающее окно является системным сообщением об ошибке и количество этих ошибок выше заданного, сканирование прерывается с ошибкой «Too much NRN messages» (в этом случае рекомендуется перезагрузка сканирующего агента).

Какие проверки осуществляет Стингрей?

На данный момент в Стингрей реализованы практики SAST, DAST и IAST. Это означает, что выполняются проверки по декомпилированным исходникам, анализ взаимодействия приложения с системой и сторонними компонентами, а также имитация атак на приложения методом «черного ящика». Полный список обнаруживаемых уязвимостей приведен в Приложении 2.

Что делать, если у эмулятора черный экран?

Данная ситуация происходит, если завершился или не отвечает один из следующих процессов: Xvfb, X11VNC и WebSockify — попробуйте обновить страницу. Если это не помогло, перезапустите агента через пользовательский интерфейс Стингрей: Настройки организации (клик по названию или логотипу организации) › Устройства...Пересоздать, см. рис.

См. раздел «Управление устройствами».

Что означает ошибка получения информации с сервера df-dferh-01 при скачивании приложения из Google Play?

Данная ситуация происходит, если было подключено много пользователей к одному Google-аккаунту или если приложение нельзя скачать для зарегистрированного платформой Стингрей устройства. Например, если сборка из маркета была загружена разработчиком только для архитектуры ARM, то скачать ее на устройство x86_64 не представляется возможным. Выход из такой ситуации — воспользоваться другим магазином приложений, например RuStore или AppGallery, или подключить другой Google Play-аккаунт в системе интеграции. См. раздел «Интеграция с Google Play».

Что делать, если сканирование завершается «Неуспешно» сразу после запуска приложения?

Данная ситуация происходит, если при сканировании в профиле выбран модуль IAST и в приложении открыты карты. Исправить данную ситуацию можно отключением модуля IAST при сканировании в профиле. Сообщите нам, если возникла проблема при сканировании приложения с модулем IAST.

Почему в iOS-приложении не отображается клавиатура?

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

Если в поле пароля предусмотрена кнопка, которая показывает пароль, после ее нажатия поле становится текстовым и экранная клавиатура отображается. Если такой возможности в приложении не предусмотрено, можно набрать пароль с физической клавиатуры. Несмотря на то, что текста в поле ввода видно не будет, он все равно набирается.

Что делать, если какие-то элементы на странице отображаются некорректно либо пропали, или сайт ведет себя некорректно?

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

  • обновить открытую страницу платформы Стингрей (клавиша F5 );
  • очистить кеш ( Ctrl+Shift+Del, выбрать временной диапазон и опции Очистить историю и Изображения и другие файлы, сохраненные в кеше, нажать кнопку Удалить данные);
  • удалить данные из LocalStorage (перейти в консоль разработчика в браузере — F12 , перейти на вкладку Application, раскрыть ветку LocalStorage, кликнуть правой кнопкой по ссылке на сайт платформы и в контекстном меню выбрать Clear);
  • перезапустить браузер;
  • перезапустить сервер с платформой Стингрей;
  • обратиться в техподдержку Стингрей.
Что делать, если зависло устройство сканирования?

Необходимо перезапустить агента сканирования через пользовательский интерфейс Стингрей: Настройки организации (клик по названию или логотипу организации) › Устройства...Пересоздать, см. рис.

См. раздел «Управление устройствами».

Что делать, если зависло запущенное сканирование или запись тест-кейса?

Необходимо перезапустить агента сканирования, на котором сейчас выполняется процесс, через пользовательский интерфейс Стингрей: Настройки организации (клик по названию или логотипу организации) › Устройства › (на карточке одного из агентов увидите метку Сканирование или Запись тест-кейса) ...Пересоздать, см. рис.

См. раздел «Управление устройствами».

Что делать, если при работе с mdast_cli возникает ошибка соединения «Failed to establish new connection»?

Алогритм проверки:

  • Проверить доступность соединения с интернетом.
  • Если интернет-соединение доступно, но ошибка появляется, воспользоваться VPN-сервисом.
  • Если интернет-соединение недоступно, поменяйте сеть для связи с интернетом.
К каким хостам обращается модуль «Поиск секретов сторонних сервисов» при проверке FCM/GCM токенов?
  • https://maps.googleapis.com/;
  • https://www.google.com/;
  • https://roads.googleapis.com/;
  • https://www.googleapis.com;
  • https://playablelocations.googleapis.com;
  • https://fcm.googleapis.com/;
  • Facebook (https://graph.facebook.com/);
  • Github (https://api.github.com/);
  • Square (https://connect.squareup.com/);
  • Slack (https://slack.com/);
  • Mailgun (https://api.mailgun.net);
  • Mailchimp (https://api.mailchimp.com/);
  • IBM Cloud IAM (https://iam.cloud.ibm.com/);
  • Twitter (https://api.twitter.com/);
  • LinkedIn (https://www.linkedin.com/);
  • Twillio (https://api.twilio.com/);
  • Square (https://squareup.com/);
  • SoftLayer (https://api.softlayer.com/);
  • IBM Cloud Object Storage (https://s3.us-south.cloud-object-storage.appdomain.cloud).
Почему после записи тестового сценария на iOS во время сканирования не печатаются символы в полях ввода?

Сейчас весь сценарий (в том числе набор текста) необходимо проводить на экране телефона с помощью виртуальной клавиатуры.

Почему при скачивании приложения возникает ошибка в ответе «RuntimeError: Google Play — Error retrieving information from server. DF-DFERH-01»?

Данная ситуация происходит, если было подключено много пользователей к одному Google-аккаунту. Используйте для интеграции другой Google Play-аккаунт.

Как посмотреть логин пользователя?

Логин пользователя отображается в правом верхнем углу, см. раздел «Информация о пользователях».

Как узнать ID дефекта?
  1. Перейдите на страницу Сканы.

  2. В первом столбце нажмите на идентификатор сканирования (ID) — откроется страница с подробной информацией о сканировании. В левой части вкладки Дефекты отображается перечень обнаруженных дефектов с указанием их ID в формате STG-XXXXX, см. раздел «Дефекты».

Как узнать ID проекта?
  1. Перейдите на вкладку Проекты (открывается по умолчанию при входе в систему).

  2. Нажмите название проекта — откроется страница с информацией о нем. ID проекта является частью адреса открывшейся страницы. Например, если адрес отрывшейся страницы https://saas.stingray-mobile.ru/projects/100/profiles, ID проекта — 100, см. раздел «Информация о проекте».

Как узнать ID сканирования?

Перейдите на страницу Сканы — откроется перечень сканирований. Идентификатор сканирования (ID) указан в первом столбце, см. раздел «Результаты сканирований / Список результатов».

Как узнать ID тест-кейса?

Перейдите на страницу Тест-кейсы — откроется перечень тест-кейсов. Идентификатор тест-кейса (ID) указан в первом столбце, см. раздел «Тест-кейсы».

Как записать HAR-файл?

Пример записи HAR-файла при неуспешном сканировании:

  1. Откройте главную страницу Стингрей.
  2. Откройте инструменты разработчика в браузере.

    • Windows: Ctrl+Shift+I.
    • MacOS: Cmd+Shift+I.
  3. Перейдите на вкладку Network/Сеть.

  4. Для начала отслеживания сетевых запросов нажмите иконку перезагрузки страницы слева от адресной строки (Ctrl+R или Ctrl+Shift+R (для полной перезагрузки)).

  5. Не закрывая инструменты разработчика, перейдите на вкладку Сканы.

  6. Нажмите на кнопку Добавить скан.

  7. Выберите пакет с приложением или, указав имя пакета, загрузите его из магазина приложений.

  8. Дождитесь загрузки/скачивания пакета.

  9. Выберите опцию Включить защиту от автоочистки и нажмите кнопку Запустить.

  10. Дождитесь начала сканирования.

  11. Сканирование сразу завершится (для Android с ожиданием завершения работы эмулятора) и начнется анализ.

  12. Дождитесь завершения анализа сканирования (статус сканирования поменяется на Успешно или Неуспешно).

  13. В инструментах разработчика на вкладке Network/Сеть в контекстном меню любого запроса выберите Save All As HAR/Сохранить все как HAR.

  14. Сохраните HAR-файл с сетевыми запросами.

Как скачать лог-файл с ошибками?
  1. Перейдите на страницу Сканы.
  2. Нажмите на строку сканирования.
  3. На странице с информацией о сканировании нажмите кнопку Скачать логи.
Как узнать package_name/package_id?
  1. Найдите приложение в Google Play и перейдите на его страницу, например https://play.google.com/store/apps/details?id=org.telegram.messenger.
  2. Bundle ID является частью адреса страницы. В примере выше — org.telegram.messenger.
  1. Найдите приложение в App Store и перейдите на его страницу, например https://apps.apple.com/ru/app/telegram-messenger/id686449807.
  2. Скопируйте ID приложения. В примере выше — 686449807.
  3. Добавьте ID приложения в ссылку https://itunes.apple.com/lookup?id=. В результате ссылка должна выглядеть следующим образом: https://itunes.apple.com/lookup?id=686449807.
  4. Перейдите по сформированной ссылке и скачайте файл 1.txt (по умолчанию скачивание начинается автоматически).
  5. Откройте скачанный файл и найдите ( Ctrl+F ) в нем строку: "bundleId":.
  6. Справа от двоеточия в кавычках указано имя пакета в App Store. В нашем примере — ph.telegra.Telegraph.
Как посмотреть логи Docker-контейнеров?

Для формирования текстового файла логов нужного контейнера необходимо выполнить команду

docker logs container_name >& file_name.log

где container_name — имя нужного контейнера, например stingray-backend.

Для непрерывного вывода можно добавить параметр –follow или -f. Чтобы остановить вывод, нажмите сочетание клавиш Ctrl+C .

Если точное имя контейнера неизвестно, выполните команду docker ps, чтобы просмотреть список всех запущенных контейнеров.

Как создать аккаунт в Google Play?
  1. Перейдите на страницу создания нового аккаунта.
  2. Указывайте необходимые данные и нажимайте на кнопку Далее.
  3. Примите пользовательское соглашение, нажав на кнопку Принимаю внизу страницы.

Можно переходить к настройке интеграции с Google Play, см. раздел «Интеграция с Google Play».

Как зарегистрировать Apple ID?
  1. Перейдите на страницу создания нового аккаунта.
  2. Заполните форму.

  3. Укажите код капчи и нажмите на кнопку Продолжить.

  4. Введите код подтверждения, присланный на электронную почту, и нажмите на кнопку Продолжить.

  5. Введите код, присланный на указанный номер телефона, и нажмите на кнопку Продолжить.

  6. При успешном подтверждении происходить переход на страницу управления аккаунтом.

  7. Чтобы перейти к настройке интеграции необходимо совершить скачивание (покупку) любого бесплатного приложения через данный аккаунт. В iPhone откройте приложение App Store и в правом верхнем углу нажмите на иконку аккаунта, введите учетные данные и нажмите на кнопку Войти.

  8. При появлении сообщения «Apple ID не использовался» нажмите на кнопку Просмотреть.

  9. Примите условия активации с помощью переключателя и нажмите на кнопку Далее.

  10. Укажите платежную информацию и нажмите на кнопку Отправить.

  11. После заполнения появится сообщение об успешном создании Apple ID. Нажмите на кнопку Продолжить.

  12. Используя поиск, найдите любое приложение, например Калькулятор.

  13. Скачайте приложение, нажав на кнопку Загрузить. Во всплывающем окне нажмите на кнопку Установить.

  14. Введите пароль и нажмите Войти.

  15. При успешной авторизации появится «галочка» и приложение начнет загружаться.

Можно переходить к настройкам интеграции с App Store, см. раздел «Интеграция с App Store».

Как создать самоподписанный сертификат для HTTPS соединения?

Для доступа к локальному Стингрей по защищенному протоколу HTTPS необходимо создать директорию (например, /opt/certs), где будут располагаться файлы полной цепочки сертификатов (fullchain.pem) и закрытого ключа (privkey.pem).

  1. Перейдите в папку /etc/nginx/certs.
  2. Создайте самоподписанный сертификат с ключом.
    openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout privkey.pem -out fullchain.pem
    
  3. Проверьте содержимое.

    sudo cat fullchain.pem privkey.pem
    

    Сертификат будет выглядеть так:

    -----BEGIN CERTIFICATE-----
    Содержимое сертификата
    -----END CERTIFICATE-----
    

    Ключ будет выглядеть так:

    -----BEGIN PRIVATE KEY-----
    Содержимое ключа
    -----END PRIVATE KEY-----
    
К началу