2015-01-30 5 views
1

Я разрабатываю приложение конференц-связи, детали:Автоматическое тестирование приложения webrtc?

  • цель: хром браузер

  • сервер: Node.js (в настоящее время окна окр)

простейший тестовый сценарий будет выглядеть так:

  1. открыть две вкладки браузера (при необходимости откройте браузер)
  2. эмулировать кнопку нажимать на оба.
  3. эмулировать принять запрос GetUserMedia (трудная часть)
  4. больше эмуляции вещи и чтение значений переменных JavaScript и их проверки.

До сих пор я проводил ручное тестирование всего этого, но решил, что это будет нецелесообразно в долгосрочной перспективе. Я не делал много автоматизированного тестирования (всего лишь частичное тестирование). Первоначально я думал, что mocha выполнит эту работу, но начинает думать, что этого недостаточно.

Мне нужны некоторые указатели относительно того, что tools or alternate test frameworks необходимо для запуска браузера, открытия вкладки и предоставления разрешений на совместное использование мультимедиа.

+0

Множитель нагрузки поддерживает тестирование webrtc. Возможно, вам понравится [здесь] (http://stackoverflow.com/a/35464046/1861447). – Kamal

ответ

6

Chrome имеет флаги командной строки для пропуска получить разрешение GetUserMedia, а также с использованием поддельных устройств:

  • --use-поддельной-UI-для-медиа-потока (скачет разрешение GUM подсказка)
  • - -use-фальшивый-устройство-для-медиа-потока (использует поддельные устройства)

Проверить http://blog.andyet.com/2014/09/29/testing-webrtc-applications, http://googletesting.blogspot.se/2014/08/chrome-firefox-webrtc-interop-test-pt-1.html для получения справочной информации

Если вы хотите нажимать кнопки, стандартным инструментом для этого является селен. Если вы предпочитаете Javascript для Java, привязка, такая как webdriver.io, может быть тем, что вы ищете.

1

Если вам нравится Ruby, взгляните на Capybara. Вероятно, вы также захотите использовать Xvfb, чтобы вы могли запускать тесты на машине, на которой нет дисплея.

Вот пример фрагмента, который позволит вам открыть Chome с помощью переключателей, которые предлагает Филипп. Я использовал это для создания теста записи видео без звука.

Capybara.register_driver :chrome do |app| 
    switches = %w(disable-popup-blocking disable-translate use-fake-ui-for-media-stream use-fake-device-for-media-stream test-type) 
    Capybara::Selenium::Driver.new(app, browser: :chrome, switches: switches) 
end 
0

Если вы ищете для тестирования WebRTC, вы можете, как видеть loadmultiplier .., он ответил here ранее.

Смежные вопросы