Home | History | Annotate | only in /external/webrtc/webrtc/tools/rtcbot
Up to higher level directory
NameDateSize
bot/24-Aug-2016
botmanager.js24-Aug-20166.6K
main.js24-Aug-20162.9K
OWNERS24-Aug-201619
README24-Aug-20162.2K
rtcBotReportVisualizer/24-Aug-2016
test/24-Aug-2016
test.js24-Aug-20164.3K

README

      1 === RTCBot ===
      2 RTCBot is a framework to write tests that need to spawn multiple webrtc
      3 endpoints.
      4 
      5 == Description ==
      6 RTCBot is a framework that allows to write tests where logic runs on a single
      7 host that controls multiple endpoints ("bots"). It allows creating complex
      8 scenarios that would otherwise require non-trival signalling between multiple
      9 parties.
     10 
     11 The host runs in node.js, but the test code is run in an isolated context with
     12 no access to node.js specifics other than the exposed api via a test variable.
     13 
     14 Part of the exposed api (test.spawnBot) allows a test to spawn a bot and
     15 access its exposed API. Details are in botmanager.js.
     16 
     17 == How to run the test ==
     18  $ cd trunk/webrtc/tool/rtcbot
     19  $ npm install express browserify ws websocket-stream dnode
     20  $ mkdir configurations
     21  $ cd configurations
     22  $ openssl genrsa -out priv.pem 1024
     23  $ openssl req -x509 -new -key priv.pem -days 3650 -out cert.crt
     24  $ cd trunk/webrtc/tool/rtcbot
     25  $ node main.js "<test_name>"
     26 
     27 * Note:
     28     In first time you will use rtcBot you will receive a warning telling
     29   you that your connection is not private. Just avoid this warning and
     30   click Proceed to localhost (unsafe).
     31 
     32 == How can I see the list of available tests? ==
     33  $ node main.js
     34 
     35 == Example on how to install nodejs ==
     36  $ cd /work/tools/
     37  $ git clone https://github.com/creationix/nvm.git
     38  $ export NVM_DIR=/work/tools/nvm; source $NVM_DIR/nvm.sh
     39  $ nvm install 0.10
     40  $ nvm use 0.10
     41 
     42 == Why generating the private key and self signed certificate? ==
     43   - Private key and certificate are used for creating HTTPs server in
     44     rtcBot for loading the required files on the different types of the bots.
     45 
     46 == Supported Bot Types ==
     47   - "chrome": chrome on host machine.
     48   - "android-chrome": chrome on android device. Details in "Android" Section.
     49 
     50  * Bot type is specified directly by the test.
     51 
     52 == Android ==
     53 Before running test with Android one MUST forward the device port 8080 to the
     54 host machine. That is easy to achieve with chrome port forwarding tools.
     55  - Visit chrome://inspect/devices on the host machine.
     56  - Configure and enable port forwarding 8080 -> localhost:8080
     57  - Open chrome on you Android device before running test, and leave it
     58    running until the end of test.
     59  - Run your test.
     60