How to use Cypress with encrypted streaming?
I won’t waste your time by explaining why Cypress is an amazing framework, and why you should have automated E2E tests. If you are here, it is because you already know all of this.
We decided to adopt Cypress to build an automated test suite to avoid regressions, increase the developer’s confidence, and maintain a stable codebase. After a few tests, we hit a stumbling block.
We weren’t able to test our players and our content because our clients use DRM content (CypressGitHub issue).
Browsers use External Components like “Widevine Content Decryption Module” to resolve DRM content. In Cypress, however, all the browser external components are disabled.
This will cause an exception in the Players while it’s resolving the content.
As you can imagine, for a streaming app it is crucial to be able to test the players and their logic, and this put us in front of a tough decision, give up on Cypress and automated tests, or find a solution!
How do we handle that?
After hours of crazy research and days of frustration, we came up with a simple question:
Do we really need it?
In our tests, we usually stream video content in order to check some business logic or to assert that the player is acting as intended. (We are not testing the actual encoding of the content or similar).
Then we faced the ugly/beautiful truth. No, you don’t need a DRM content to test that!
When we came to this mind blowing conclusion, we decided to mock the service that returns all the streaming information.
We created a JSON file to mock the streaming information that will use a clear content “Big Buck Bunny: the Dark Truths”
And stub the service that returns the streaming information in our tests:
And voilà, you are ready to stream 🍿
Note: Our projects are using Cypress v3.2.2, at the time of writing.
In this article, we will develop a simple streaming app on AndroidTV using React Native, and see how we can manage focus navigation. We will also go into detail about some limitations that the standard navigation has, and some ways to mitigate them.
Content has always been king – but what about the technology that delivers it? Can even the best of content be ‘spoiled’ by low quality video delivery or negative user experiences?
Should you develop your Connected TV apps using native or cross-platform technologies? Read about the pros and cons of each here!
The Nordic TV Week, scheduled between 3-7 May 2021, will feature live presentations of popular Nordic TV streaming services from a technology and UI/UX design perspective.
Norwegian TV streaming technology company Norigin Media has been chosen as part of the 5GMediaHUB Consortium, alongside Telenor from Norway and other European companies. The project’s goal is to become a world leader in 5G, accelerating the validation of innovative 5G-empowered media and entertainment applications.
Norigin Media, the organisers of Northern Waves TV, have today announced that the conference will not take place in Oslo in 2021. The TV technology and business conference will instead become a series of online compact conferences in the spring and autumn of 2021.