mirror of https://github.com/xwiki-labs/cryptpad
minor refactoring and hopefully we will be able to get the actual links to the tests on SauceLabs
This commit is contained in:
parent
8709311a7e
commit
2d7309b04f
|
@ -1,8 +1,8 @@
|
|||
language: node_js
|
||||
env:
|
||||
matrix:
|
||||
- "TEST_SUITE=saucelabs BROWSER='firefox:19:Windows 2012'"
|
||||
- "TEST_SUITE=saucelabs BROWSER='chrome::Windows 2008'"
|
||||
- "BROWSER='firefox:19:Windows 2012'"
|
||||
- "BROWSER='chrome::Windows 2008'"
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
@ -12,6 +12,7 @@ branches:
|
|||
node_js:
|
||||
- "4.2.1"
|
||||
before_script:
|
||||
- npm run-script lint
|
||||
- cp config.js.dist config.js
|
||||
- npm install
|
||||
- npm install bower
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
'use strict';
|
||||
const WebDriver = require("selenium-webdriver");
|
||||
/* global process */
|
||||
var WebDriver = require("selenium-webdriver");
|
||||
var Http = require("http");
|
||||
|
||||
let driver;
|
||||
if (process.env.SAUCE_USERNAME != undefined) {
|
||||
const browserArray = process.env.BROWSER.split(':');
|
||||
var driver;
|
||||
if (process.env.SAUCE_USERNAME !== undefined) {
|
||||
var browserArray = process.env.BROWSER.split(':');
|
||||
driver = new WebDriver.Builder().usingServer(
|
||||
'http://'+ process.env.SAUCE_USERNAME+':'+process.env.SAUCE_ACCESS_KEY+'@ondemand.saucelabs.com:80/wd/hub'
|
||||
).withCapabilities({
|
||||
"tunnel-identifier": process.env.TRAVIS_JOB_NUMBER,
|
||||
"build": process.env.TRAVIS_BUILD_NUMBER,
|
||||
"build": process.env.TRAVIS_JOB_NUMBER,
|
||||
"username": process.env.SAUCE_USERNAME,
|
||||
"accessKey": process.env.SAUCE_ACCESS_KEY,
|
||||
}).forBrowser(browserArray[0], browserArray[1], browserArray[2]).build();
|
||||
|
@ -16,15 +17,36 @@ if (process.env.SAUCE_USERNAME != undefined) {
|
|||
driver = new WebDriver.Builder().withCapabilities({ browserName: "chrome" }).build();
|
||||
}
|
||||
|
||||
var logSauceLink = function (cb) {
|
||||
Http.request("https://saucelabs.com/rest/v1.1/" + process.env.SAUCE_USERNAME +
|
||||
"/jobs?auto_only=true&full=true&limit=50&subaccounts=true", function (resp) {
|
||||
var str = '';
|
||||
resp.on('data', function (chunk) { str += chunk; });
|
||||
resp.on('end', function () {
|
||||
JSON.parse(str).jobs.forEach(function (j) {
|
||||
var banner = new Array(80).join('=');
|
||||
if (j.build === process.env.TRAVIS_JOB_NUMBER) {
|
||||
console.log("\n\n\n" + banner);
|
||||
console.log("SauceLabs Link: " + j.video_url.replace(/\/video\.flv$/), '');
|
||||
console.log(banner + "\n\n\n");
|
||||
}
|
||||
});
|
||||
cb();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
driver.get('http://localhost:3000/assert/');
|
||||
const report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000);
|
||||
var report = driver.wait(WebDriver.until.elementLocated(WebDriver.By.className("report")), 5000);
|
||||
report.getAttribute("class").then(function (cls) {
|
||||
driver.quit();
|
||||
if (!cls) {
|
||||
throw new Error("cls is null");
|
||||
} else if (cls.indexOf("failure") !== -1) {
|
||||
throw new Error("cls contains the word failure");
|
||||
} else if (cls.indexOf("success") === -1) {
|
||||
throw new Error("cls does not contain the word success");
|
||||
}
|
||||
logSauceLink(function () {
|
||||
if (!cls) {
|
||||
throw new Error("cls is null");
|
||||
} else if (cls.indexOf("failure") !== -1) {
|
||||
throw new Error("cls contains the word failure");
|
||||
} else if (cls.indexOf("success") === -1) {
|
||||
throw new Error("cls does not contain the word success");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue