Wowza Selenium WebDriver Test
Недавно, появилась необходимость провести нагрузочный тест для Wowza Streaming Engine, а именно WebRTC.
Если проблем с передачей медиа на сервер не оказалось, в плане нагрузки и формирования трафика, то вот со «зрителями» пришлось повозиться. На помощь пришел продукт, хорошо известный тестировщикам – Selenium WebDriver.
После установки и написания нескольких строчек кода на питоне, по логике должно было произойти следующее:
- На каждый стрим с интервалом 10 секунд, заходит «зритель»
- Открывает браузер и переходит на подготовленную страницу
- Вводит ID стрима и адрес сервера, где крутится вовза
- Нажимает просмотр и смотрит видео в течении определенного времеи
- Спустя некоторое время, отключается от стрима и закрывет окно браузера
Вроде все просто, но сейчас пойдет речь, о том, что же я упустил и как легко это решается.
Вовза, для просмотра стримов, как и для стриминга по WebRTC использует wss, что уже нам намекает на SSL. Да, в наше время можно обойтись самоподписанным сертификатом, но можно использовать сертификат от Let’s Encrypt или тот же acme.sh.
Последним я и воспользовался и долго не мог понять, почему вручную, под виндой все ОК, а под Ubuntu 16.04 не открываются стримы и самое главное, скрипт говорит, что все ок. Страница загрузилась и честно отработала.
Решил посмотреть что же будет, под чистой виндой. И о!!! Да!!! Вот оно.
Сейчас уже не видно, так как я добавил корневой сертификат, но на момент тестов, корневой сертификат не был доверенным. И никакие ключи(хотя под виндой работало нормально) по типу
—ignore-certificate-errors не помогали.
В общем, все решилось простым добавлением сертификата к доверенным. Ниже, как всегда, небольшой срипт, который поможет
Нам понадобится:
- Установить
Теперь как пользоваться:
importing-cert.sh домен порт
Порт указывать в случае, если он отличен от 443
Посмотреть текущие сертификаты
certutil -L -d sql:$HOME/.pki/nssdb
Удалить сертификат
1 |
$ certutil -D -n -d sql:$HOME/.pki/nssdb |
После того, как я все выполнил, уже с облегчением запустил новый тест. И тут была печаль.
Нужна реализация такой задачи или подобной, обращайтесь [email protected]