2013-07-23 11 views
6

WebRTCアプリケーションをテストしようとしています。今私ができることは、いくつかのプライベートブラウザウィンドウを開いてお互いに話すことですが、これは明らかに拡大縮小されません。WebRTCアプリケーションのテスト

私は、1台のマシンに多数のピアを作成する方法を探しています。私はPhantom.jsを探していましたが、まだWebRTCをサポートしていないようです。助言がありますか?

答えて

8

PhantomJSは現在QtWebKitに基づいており、WebRTCにはWebKitとChromiumのコンポーネントが必要です。

Phantom.jsがこれをすべて再実装する作業がたくさんあります。コーデックサポートなどの問題もあります。ヘッドレス環境では、getUserMediaをテストするのは難しいでしょう()は、WebRTCにとって基本的なものですが、ユーザーとのやりとりが必要でスクリプト化できません。 MediaStreamのために、それはとしてhttps://www.npmjs.com/package/mediastreamを使用することができます

+7

ヘッドレスWebRTCはアプリケーションに役立つと思いますビデオではなくデータチャネルを使用します。例えば、ピアツーピアネットワークは、ブラウザノードと非ブラウザノードとが混在したものである。 –

+0

@JesseHallettが同意します! –

0

:getUserMediaについては

import { MediaStream as libMediaStream } from 'mediastream'; 

()、それはのようにhttps://www.npmjs.com/package/get-user-media-promise使用することができます。

(<any>window.navigator).mediaDevices = Object.assign({}, 
    window.navigator.mediaDevices, 
    { getUserMedia: require('get-user-media-promise')} 
); 

RTCPeerConnectionは、あなたのユニットテストに依存、と嘲笑される可能性があります:

window['RTCPeerConnection'] =() => { 
    return { 
    close:() => { }, 
    getTracks:() => { }, 
    addStream:() => { }, 
    createOffer:() => { }, 
    addIceCandidate:() => { }, 
    setRemoteDescription:() => { }, 
    createAnswer:() => { }, 
    setLocalDescription:() => { } 
    }; 
}; 
関連する問題