nodeclient-spectre
Version:
A node.js client to push data to the Web-Application "spectre" (https://github.com/wearefriday/spectre)
60 lines (48 loc) • 1.47 kB
JavaScript
const request = require('request-promise-native');
module.exports = class SpectreClient {
constructor(spectreURL) {
this.spectreURL = spectreURL;
}
createTestrun(projectName, suiteName) {
//format spectre_url to send post request to /runs
let spectreUrlPost = this.spectreURL + '/runs';
let formData = {
project: projectName,
suite: suiteName
};
return request({
method: 'POST',
uri: spectreUrlPost,
formData: formData,
json: true
});
}
submitScreenshot(testName, browser, size, screenshot, runID, cropArea = '', sourceUrl = '', fuzzLevel = '', highlightColor = '') {
//format spectre_url to send post request to /tests
let spectreUrlPost = this.spectreURL + '/tests';
const formData = {
'test[run_id]': runID.toString(),
'test[name]': testName,
'test[browser]': browser,
'test[size]': size.toString(),
'test[crop_area]': cropArea,
'test[source_url]': sourceUrl,
'test[fuzz_level]': fuzzLevel,
'test[highlight_color]': highlightColor,
'test[screenshot]': {
options: {
filename: 'temp.png',
contentType: 'image/png'
},
value: new Buffer(screenshot, 'base64')
}
};
return request({
method: 'POST',
uri: spectreUrlPost,
formData: formData,
json: true
});
}
};
;