PracticeQAAutomation logoPracticeQAAutomation

📘 Project KT · Media streaming

▶️ StreamBox

Video streaming

Complexity
Advanced
Screens
5
Scenarios
9
Test cases
16

1Business context

StreamBox is a video-streaming service with profiles. It must respect profile restrictions (Kids), remember playback progress, and let subscribers manage My List and plan changes.

Pick a profile (Kids hides mature titles), browse scrolling rows, save to My List, and drive a custom player — play/pause, seek, ±10s, speed, volume, subtitles, skip intro — with progress that feeds “Continue watching”.

2Users & roles

  • 👤 Subscriber (viewer@streambox.tv / Stream@123) with profiles Amir, Sara and Kids — browses, watches, manages lists and plans

3Modules & screens

ScreenRouteWhat it does
Sign-in gate/apps/streamEmail viewer@streambox.tv / Stream@123, before the profile picker; any page opened while signed out shows the login and returns there afterwards
Home/apps/streamProfile picker, content rows, title modal, continue watching
Player/apps/stream/watch/[id]Play/pause, seek, volume, speed, skip intro, progress saving
My List/apps/stream/my-listSaved titles with reorder
Plans/apps/stream/plansBasic / Standard / Premium with upgrade or downgrade confirmation

4Main end-to-end journey

Watch and resume

  1. Sign in as viewer@streambox.tv / Stream@123
  2. Pick profile Amir
  3. Open Orbit Nine from Trending and add to My List
  4. Play at 2× and skip the intro
  5. Pause, skip 10 s
  6. Go home

Expected: Continue watching shows Orbit Nine with progress; My List starts with it

5Business rules & validations

  • Account loginBeginner

    Email + password (sb-login-id, sb-password, sb-login) before the profile picker; sb-logout returns to the login.

  • Profile gateBeginner

    No profile → profile-picker; switch-profile returns to it. Kids hides A/UA titles and restricts /watch.

  • Unique row locatorsIntermediate

    A title can appear in several rows, so cards are open-<row>-<id> (e.g. open-trending-t3).

  • Player stateIntermediate

    player-toggle flips aria-label Play/Pause and data-playing on player; player-time advances.

  • Transient buttonAdvanced

    skip-intro only exists between 0:03 and 0:30 — wait for it, click, and assert the time jumped to 0:30.

  • Range slidersIntermediate

    Drive player-seek and player-volume (fill / keyboard / JS); mute toggles the volume to 0.

  • Continue watchingAdvanced

    Watch a bit, go home: row-continue shows the title with a progress bar.

  • Reorder a listIntermediate

    In My List, move-up/down-<id> or drag mylist-item to reorder; order persists.

  • Plan change modalBeginner

    choose-<plan> shows an upgrade or downgrade note; confirm-plan updates current-plan.

6Test data & credentials

URL
/apps/stream
Login
viewer@streambox.tv / Stream@123
Profiles
Amir · Sara · Kids
Skip intro
shown 0:03–0:30
Plans
Basic · Standard · Premium

7Glossary

Kids profile
Hides A/UA-rated titles and blocks them on the player
Skip intro
Button shown only between 0:03 and 0:30
Continue watching
Row showing partly watched titles with progress

8Watch-outs for automation

  • ⚠️Sign in first (or reuse a saved session) — every page is behind the login
  • ⚠️Card ids include the row, e.g. open-trending-t3 — the same title appears in several rows
  • ⚠️Skip intro is transient — wait for it before clicking
  • ⚠️Sliders need fill, keyboard or JS

9Suggested test strategy

1 · Smoke

3

P1 positive and end-to-end cases — run on every build.

2 · Regression

16

All cases, incl. 3 negative and 3 edge — run before release.

3 · End-to-end

3

Full user journeys — run nightly.

Start with these smoke cases

  • STREAMBOX-01 — Sign in then pick a profile
  • STREAMBOX-03 — Watch a title
  • STREAMBOX-E2E-01 — Watch and resume