webrtc-samples
Version:
Project checking for WebRTC GitHub samples repo
122 lines (111 loc) • 3.26 kB
JavaScript
/*
* Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree.
*/
/* eslint-env node */
;
// This is a basic test file for use with testling.
// The test script language comes from tape.
var test = require('tape');
var webdriver = require('selenium-webdriver');
var seleniumHelpers = require('webrtc-utilities').seleniumLib;
test('Candidate Gathering', function(t) {
var driver = seleniumHelpers.buildDriver();
driver.get('file://' + process.cwd() +
'/src/content/peerconnection/trickle-ice/index.html')
.then(function() {
t.pass('page loaded');
return driver.findElement(webdriver.By.id('gather')).click();
})
.then(function() {
return driver.wait(function() {
return driver.executeScript(
'return pc === null && candidates.length > 0;');
}, 30 * 1000);
})
.then(function() {
t.pass('got candidates');
t.end();
})
.then(null, function(err) {
t.fail(err);
t.end();
});
});
test('Loading server data', function(t) {
var driver = seleniumHelpers.buildDriver();
driver.get('file://' + process.cwd() +
'/src/content/peerconnection/trickle-ice/index.html')
.then(function() {
t.pass('page loaded');
return driver.findElement(webdriver.By.css('#servers>option'));
})
.then(function(element) {
return new webdriver.ActionSequence(driver).
doubleClick(element).perform();
})
.then(function() {
return driver.findElement(webdriver.By.id('url')).getAttribute('value');
})
.then(function(value) {
t.ok(value !== '', 'doubleclick loads server data');
t.end();
})
.then(null, function(err) {
t.fail(err);
t.end();
});
});
test('Adding a server', function(t) {
var driver = seleniumHelpers.buildDriver();
driver.get('file://' + process.cwd() +
'/src/content/peerconnection/trickle-ice/index.html')
.then(function() {
t.pass('page loaded');
return driver.findElement(webdriver.By.id('url'))
.sendKeys('stun:stun.l.google.com:19302');
})
.then(function() {
t.pass('url input worked');
return driver.findElement(webdriver.By.id('add')).click();
})
.then(function() {
return driver.findElement(webdriver.By.css('#servers'))
.getAttribute('length');
})
.then(function(length) {
t.ok(length === '2', 'server added');
t.end();
})
.then(null, function(err) {
t.fail(err);
t.end();
});
});
test('Removing a server', function(t) {
var driver = seleniumHelpers.buildDriver();
driver.get('file://' + process.cwd() +
'/src/content/peerconnection/trickle-ice/index.html')
.then(function() {
t.pass('page loaded');
return driver.findElement(webdriver.By.css('#servers>option')).click();
})
.then(function() {
return driver.findElement(webdriver.By.id('remove')).click();
})
.then(function() {
return driver.findElement(webdriver.By.css('#servers'))
.getAttribute('length');
})
.then(function(length) {
t.ok(length === '0', 'server removed');
t.end();
})
.then(null, function(err) {
t.fail(err);
t.end();
});
});