• Home
  • History
  • Annotate
  • only in /external/webrtc/webrtc/tools/rtcbot/
NameDateSize

..10-Aug-20184 KiB

bot/10-Aug-20184 KiB

botmanager.js10-Aug-20186.6 KiB

main.js10-Aug-20182.9 KiB

README10-Aug-20182.2 KiB

rtcBotReportVisualizer/10-Aug-20184 KiB

test/10-Aug-20184 KiB

test.js10-Aug-20184.3 KiB

README

1=== RTCBot ===
2RTCBot is a framework to write tests that need to spawn multiple webrtc
3endpoints.
4
5== Description ==
6RTCBot is a framework that allows to write tests where logic runs on a single
7host that controls multiple endpoints ("bots"). It allows creating complex
8scenarios that would otherwise require non-trival signalling between multiple
9parties.
10
11The host runs in node.js, but the test code is run in an isolated context with
12no access to node.js specifics other than the exposed api via a test variable.
13
14Part of the exposed api (test.spawnBot) allows a test to spawn a bot and
15access 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 ==
53Before running test with Android one MUST forward the device port 8080 to the
54host 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