Platform/Features/Camera API - Phase 2 (getUserMedia)/Test Plan: Difference between revisions

 
(3 intermediate revisions by the same user not shown)
Line 50: Line 50:
* [In MozTrap] Launch a request for the camera and audio with a USB camera, built-in camera, USB mic, and a built-in mic. Allow permissions for the built-in camera, but don't give mic access. Verify that an error is reported saying that one of the devices wasn't provided.
* [In MozTrap] Launch a request for the camera and audio with a USB camera, built-in camera, USB mic, and a built-in mic. Allow permissions for the built-in camera, but don't give mic access. Verify that an error is reported saying that one of the devices wasn't provided.
* [In MozTrap] Launch a request for the camera and audio with a USB camera, built-in camera, USB mic, and a built-in mic. Allow permissions for the built-in mic, but don't give camera access. Verify that an error is reported saying that one of the devices wasn't provided.
* [In MozTrap] Launch a request for the camera and audio with a USB camera, built-in camera, USB mic, and a built-in mic. Allow permissions for the built-in mic, but don't give camera access. Verify that an error is reported saying that one of the devices wasn't provided.
* Test that if I call stop() on a video stream used on a media element being played, and a gUM call is made again and placed on a media element and played, the camera stream shall be played without error
* Test that if I call stop() on a video+audio stream used on a media element being played, and a gUM call is made again and placed on a media element and played, the camera and mic stream shall be played without error
* Test that if I call stop() on an audio stream used on a media element being played, and a gUM call is made again and placed on a media element and played, the mic stream shall be played without error
* Test that if I call stop() on a video stream already playing in one tab, then another tab requests access to the camera and places the stream into a media element and plays it, the media element should play it without error
* Test that if I call stop() on an audio stream already playing in one tab, then another tab requests access to the camera and places the stream into a media element and plays it, the media element should play it without error
* Test that if I call stop() on a video+audio stream already playing in one tab, then another tab requests access to the camera and places the stream into a media element and plays it, the media element should play it without error
* Test that if I call stop() on a video media stream not actively in use, but was previously in use, then the camera access shall be released
* Test that if I call stop() on an audio media stream not actively in use, but was previously in use, then the mic access shall be released
* Test that if I call stop() on a video+audio media stream not actively in use, but was previously in use, then the camera access shall be released
* Test that if I have a USB camera and integrated camera hooked up, but the USB camera is in use by a media stream in a media element, and I call stop() on it, then request access to the camera, I should see both cameras listed. If I select the USB camera, then I should be able to lock access to it.
* Test that if I have a USB mic and integrated mic hooked up, but the USB mic is in use by a media stream in a media element, and I call stop() on it, then request access to the mic, I should see both cameras listed. If I select the USB camera, then I should be able to lock access to it.
* Test that if I have a USB camera/mic and integrated camera/mic hooked up, but the USB camera/mic is in use by a media stream in a media element, and I call stop() on it, then request access to the camera/mic, I should see both cameras/mics listed. If I select the USB camera/mic, then I should be able to lock access to it.
* Test that if I request access to the USB camera and integrated camera in tab #1 and #2 respectively, play them in media elements, and call stop() on one of them, then the other camera should remain active in use, while the other one should stop being used
* Test that if I request access to the USB mic and integrated mic in tab #1 and #2 respectively, play them in media elements, and call stop() on one of them, then the other mic should remain active in use, while the other one should stop being used
* Test that if I request access to the USB camera/mic and integrated camera/mic in tab #1 and #2 respectively, play them in media elements, and call stop() on one of them, then the other camera/mic should remain active in use, while the other one should stop being used
* Launch a request for an integrated webcam in the first tab and accept permissions. Then, launch a request for the USB webcam in a second tab and accept permissions. Verify that the integrated camera is streaming your video in the 1st tab and the USB webcam is streaming your video in the 2nd tab.
* Launch a request for an integrated mic in the first tab and accept permissions. Then, launch a request for the USB mic in a second tab and accept permissions. Verify that the integrated mic is streaming your audio in the 1st tab and the USB webcam is streaming your audio in the 2nd tab.
* Launch a request for an integrated webcam and mic in the first tab and accept permissions. Then, launch a request for the USB webcam and USB mic in a second tab and accept permissions. Verify that the integrated webcam and mic plays off the 1st tab. Verify that the USB webcam and mic plays off the 2nd tab.


==== BFT-Level TC Needed ====
==== BFT-Level TC Needed ====
Line 73: Line 55:
* [TC Wanted] Test that if I request the mic a second time after the first request in the same tab, then I should automatically get access to the mic without another prompt for permissions
* [TC Wanted] Test that if I request the mic a second time after the first request in the same tab, then I should automatically get access to the mic without another prompt for permissions
* [TC Wanted] Test that if I request the camera a second time after the first request in the same tab, then I should  automatically get access to the camera without another prompt for  permissions
* [TC Wanted] Test that if I request the camera a second time after the first request in the same tab, then I should  automatically get access to the camera without another prompt for  permissions
* [TC Wanted] Test that if I call stop() before a video stream is attached to a media element, then attach it onto the a media element, and play the media element, the stream should not start
* [TC Wanted] Test that if I call stop() before an audio stream is attached to a media element, then attach it onto the a media element, and play the media element, the stream should not start
* [TC Wanted] Test that if I call stop() before a video+audio stream is attached to a media element, then attach it onto the a media element, and play the media element, the stream should not start


==== Exploratory Ideas ====
==== Exploratory Ideas ====
Line 87: Line 66:
* Crash while hardware is in use
* Crash while hardware is in use
* Sleep mode
* Sleep mode
* Attaching dead local media streams that can't be played onto media elements
* Concurrent use of streams with calling of stop() on one - make sure it only releases the device at one point
* Integrated and USB devices used at the same time


=== Picture Test Case Archive ===
=== Picture Test Case Archive ===
Confirmed users
2,959

edits