| Index: tools/perf/page_sets/webrtc_cases.py
|
| diff --git a/tools/perf/page_sets/webrtc_cases.py b/tools/perf/page_sets/webrtc_cases.py
|
| index 99f5eadae8f2abc0085d46298d1cc734fb772c5a..f157d576047d6c108272aa1caf33868fa586720d 100644
|
| --- a/tools/perf/page_sets/webrtc_cases.py
|
| +++ b/tools/perf/page_sets/webrtc_cases.py
|
| @@ -3,11 +3,12 @@
|
| # found in the LICENSE file.
|
| import os
|
|
|
| -from telemetry.page import page as page_module
|
| from telemetry import story
|
| +from telemetry.page import page as page_module
|
|
|
|
|
| WEBRTC_GITHUB_SAMPLES_URL = 'https://webrtc.github.io/samples/src/content/'
|
| +MEDIARECORDER_GITHUB_URL = 'https://rawgit.com/cricdecyan/mediarecorder/master/'
|
|
|
|
|
| class WebrtcPage(page_module.Page):
|
| @@ -22,13 +23,13 @@ class WebrtcPage(page_module.Page):
|
|
|
|
|
| class Page1(WebrtcPage):
|
| - """ Why: Acquires a high definition (720p) local stream. """
|
| + """Why: Acquires a high definition (720p) local stream."""
|
|
|
| def __init__(self, page_set):
|
| super(Page1, self).__init__(
|
| - url=WEBRTC_GITHUB_SAMPLES_URL + 'getusermedia/resolution/',
|
| - name='hd_local_stream_10s',
|
| - page_set=page_set)
|
| + url=WEBRTC_GITHUB_SAMPLES_URL + 'getusermedia/resolution/',
|
| + name='hd_local_stream_10s',
|
| + page_set=page_set)
|
|
|
| def RunPageInteractions(self, action_runner):
|
| action_runner.ClickElement('button[id="hd"]')
|
| @@ -36,7 +37,7 @@ class Page1(WebrtcPage):
|
|
|
|
|
| class Page2(WebrtcPage):
|
| - """ Why: Sets up a local video-only WebRTC 720p call for 45 seconds. """
|
| + """Why: Sets up a local video-only WebRTC 720p call for 45 seconds."""
|
|
|
| def __init__(self, page_set):
|
| super(Page2, self).__init__(
|
| @@ -58,12 +59,12 @@ class Page2(WebrtcPage):
|
|
|
|
|
| class Page3(WebrtcPage):
|
| - """ Why: Transfer as much data as possible through a data channel in 20s. """
|
| + """Why: Transfer as much data as possible through a data channel in 20s."""
|
|
|
| def __init__(self, page_set):
|
| super(Page3, self).__init__(
|
| url=WEBRTC_GITHUB_SAMPLES_URL + 'datachannel/datatransfer',
|
| - name="30s_datachannel_transfer",
|
| + name='30s_datachannel_transfer',
|
| page_set=page_set)
|
|
|
| def RunPageInteractions(self, action_runner):
|
| @@ -74,15 +75,14 @@ class Page3(WebrtcPage):
|
| action_runner.Wait(30)
|
|
|
|
|
| -
|
| class Page4(WebrtcPage):
|
| - """ Why: Sets up a WebRTC audio call with Opus. """
|
| + """Why: Sets up a WebRTC audio call with Opus."""
|
|
|
| def __init__(self, page_set):
|
| super(Page4, self).__init__(
|
| - url=WEBRTC_GITHUB_SAMPLES_URL + 'peerconnection/audio/?codec=OPUS',
|
| - name='audio_call_opus_10s',
|
| - page_set=page_set)
|
| + url=WEBRTC_GITHUB_SAMPLES_URL + 'peerconnection/audio/?codec=OPUS',
|
| + name='audio_call_opus_10s',
|
| + page_set=page_set)
|
|
|
| def RunPageInteractions(self, action_runner):
|
| action_runner.ExecuteJavaScript('codecSelector.value="OPUS";')
|
| @@ -91,13 +91,13 @@ class Page4(WebrtcPage):
|
|
|
|
|
| class Page5(WebrtcPage):
|
| - """ Why: Sets up a WebRTC audio call with G722. """
|
| + """Why: Sets up a WebRTC audio call with G722."""
|
|
|
| def __init__(self, page_set):
|
| super(Page5, self).__init__(
|
| - url=WEBRTC_GITHUB_SAMPLES_URL + 'peerconnection/audio/?codec=G722',
|
| - name='audio_call_g722_10s',
|
| - page_set=page_set)
|
| + url=WEBRTC_GITHUB_SAMPLES_URL + 'peerconnection/audio/?codec=G722',
|
| + name='audio_call_g722_10s',
|
| + page_set=page_set)
|
|
|
| def RunPageInteractions(self, action_runner):
|
| action_runner.ExecuteJavaScript('codecSelector.value="G722";')
|
| @@ -106,13 +106,13 @@ class Page5(WebrtcPage):
|
|
|
|
|
| class Page6(WebrtcPage):
|
| - """ Why: Sets up a WebRTC audio call with PCMU. """
|
| + """Why: Sets up a WebRTC audio call with PCMU."""
|
|
|
| def __init__(self, page_set):
|
| super(Page6, self).__init__(
|
| - url=WEBRTC_GITHUB_SAMPLES_URL + 'peerconnection/audio/?codec=PCMU',
|
| - name='audio_call_pcmu_10s',
|
| - page_set=page_set)
|
| + url=WEBRTC_GITHUB_SAMPLES_URL + 'peerconnection/audio/?codec=PCMU',
|
| + name='audio_call_pcmu_10s',
|
| + page_set=page_set)
|
|
|
| def RunPageInteractions(self, action_runner):
|
| action_runner.ExecuteJavaScript('codecSelector.value="PCMU";')
|
| @@ -121,13 +121,13 @@ class Page6(WebrtcPage):
|
|
|
|
|
| class Page7(WebrtcPage):
|
| - """ Why: Sets up a WebRTC audio call with iSAC 16K. """
|
| + """Why: Sets up a WebRTC audio call with iSAC 16K."""
|
|
|
| def __init__(self, page_set):
|
| super(Page7, self).__init__(
|
| - url=WEBRTC_GITHUB_SAMPLES_URL + 'peerconnection/audio/?codec=ISAC_16K',
|
| - name='audio_call_isac16k_10s',
|
| - page_set=page_set)
|
| + url=WEBRTC_GITHUB_SAMPLES_URL + 'peerconnection/audio/?codec=ISAC_16K',
|
| + name='audio_call_isac16k_10s',
|
| + page_set=page_set)
|
|
|
| def RunPageInteractions(self, action_runner):
|
| action_runner.ExecuteJavaScript('codecSelector.value="ISAC/16000";')
|
| @@ -135,47 +135,78 @@ class Page7(WebrtcPage):
|
| action_runner.Wait(10)
|
|
|
|
|
| +class Page8(WebrtcPage):
|
| + """Why: Sets up a canvas capture stream connection to a peer connection."""
|
| +
|
| + def __init__(self, page_set):
|
| + canvas_capure_html = 'canvascapture/canvas_capture_peerconnection.html'
|
| + super(Page8, self).__init__(
|
| + url=MEDIARECORDER_GITHUB_URL + canvas_capure_html,
|
| + name='canvas_capture_peer_connection',
|
| + page_set=page_set)
|
| +
|
| + def RunPageInteractions(self, action_runner):
|
| + with action_runner.CreateInteraction('Action_Canvas_PeerConnection',
|
| + repeatable=False):
|
| + action_runner.ExecuteJavaScript('draw();')
|
| + action_runner.ExecuteJavaScript('doCanvasCaptureAndPeerConnection();')
|
| + action_runner.Wait(10)
|
| +
|
| +
|
| class WebrtcGetusermediaPageSet(story.StorySet):
|
| - """ WebRTC tests for local getUserMedia: video capture and playback. """
|
| + """WebRTC tests for local getUserMedia: video capture and playback."""
|
|
|
| def __init__(self):
|
| super(WebrtcGetusermediaPageSet, self).__init__(
|
| - archive_data_file='data/webrtc_getusermedia_cases.json',
|
| - cloud_storage_bucket=story.PUBLIC_BUCKET)
|
| + archive_data_file='data/webrtc_getusermedia_cases.json',
|
| + cloud_storage_bucket=story.PUBLIC_BUCKET)
|
|
|
| self.AddStory(Page1(self))
|
|
|
|
|
| class WebrtcPeerconnectionPageSet(story.StorySet):
|
| - """ WebRTC tests for Real-time video and audio communication. """
|
| + """WebRTC tests for Real-time video and audio communication."""
|
|
|
| def __init__(self):
|
| super(WebrtcPeerconnectionPageSet, self).__init__(
|
| - archive_data_file='data/webrtc_peerconnection_cases.json',
|
| - cloud_storage_bucket=story.PUBLIC_BUCKET)
|
| + archive_data_file='data/webrtc_peerconnection_cases.json',
|
| + cloud_storage_bucket=story.PUBLIC_BUCKET)
|
|
|
| self.AddStory(Page2(self))
|
|
|
|
|
| class WebrtcDatachannelPageSet(story.StorySet):
|
| - """ WebRTC tests for Real-time communication via the data channel. """
|
| + """WebRTC tests for Real-time communication via the data channel."""
|
|
|
| def __init__(self):
|
| super(WebrtcDatachannelPageSet, self).__init__(
|
| - archive_data_file='data/webrtc_datachannel_cases.json',
|
| - cloud_storage_bucket=story.PUBLIC_BUCKET)
|
| + archive_data_file='data/webrtc_datachannel_cases.json',
|
| + cloud_storage_bucket=story.PUBLIC_BUCKET)
|
|
|
| self.AddStory(Page3(self))
|
|
|
| +
|
| class WebrtcAudioPageSet(story.StorySet):
|
| - """ WebRTC tests for Real-time audio communication. """
|
| + """WebRTC tests for Real-time audio communication."""
|
|
|
| def __init__(self):
|
| super(WebrtcAudioPageSet, self).__init__(
|
| - archive_data_file='data/webrtc_audio_cases.json',
|
| - cloud_storage_bucket=story.PUBLIC_BUCKET)
|
| + archive_data_file='data/webrtc_audio_cases.json',
|
| + cloud_storage_bucket=story.PUBLIC_BUCKET)
|
|
|
| self.AddStory(Page4(self))
|
| self.AddStory(Page5(self))
|
| self.AddStory(Page6(self))
|
| self.AddStory(Page7(self))
|
| +
|
| +
|
| +class WebrtcRenderingPageSet(story.StorySet):
|
| + """WebRTC tests for video rendering."""
|
| +
|
| + def __init__(self):
|
| + super(WebrtcRenderingPageSet, self).__init__(
|
| + archive_data_file='data/webrtc_smoothness_cases.json',
|
| + cloud_storage_bucket=story.PARTNER_BUCKET)
|
| +
|
| + self.AddStory(Page2(self))
|
| + self.AddStory(Page8(self))
|
|
|