71 lines
1.9 KiB
JavaScript
71 lines
1.9 KiB
JavaScript
var getScreenshot = function (session, cb) {
|
|
var request = new XMLHttpRequest();
|
|
request.open('GET', 'http://localhost:7020/session/' + session + '/screenshot', true);
|
|
request.setRequestHeader('Content-Type', 'application/json');
|
|
|
|
request.onload = function() {
|
|
cb(null, JSON.parse(request.responseText));
|
|
};
|
|
|
|
request.onerror = function() {
|
|
cb(arguments, null);
|
|
};
|
|
|
|
request.send();
|
|
};
|
|
|
|
var closeSession = function (session) {
|
|
var request = new XMLHttpRequest();
|
|
request.open('DELETE', 'http://localhost:7020/session/' + session, true);
|
|
request.setRequestHeader('Content-Type', 'application/json');
|
|
request.send();
|
|
};
|
|
|
|
var openUrl = function (url, session, cb) {
|
|
var request = new XMLHttpRequest();
|
|
request.open('POST', 'http://localhost:7020/session/' + session + '/url', true);
|
|
request.setRequestHeader('Content-Type', 'application/json');
|
|
|
|
request.onload = function() {
|
|
cb(null);
|
|
};
|
|
|
|
request.onerror = function() {
|
|
cb(arguments);
|
|
};
|
|
|
|
request.send(JSON.stringify({url: url}));
|
|
};
|
|
|
|
var getSession = function (cb) {
|
|
var request = new XMLHttpRequest();
|
|
request.open('POST', 'http://localhost:7020/session', true);
|
|
request.setRequestHeader('Content-Type', 'application/json');
|
|
|
|
request.onload = function() {
|
|
cb(null, JSON.parse(request.responseText));
|
|
};
|
|
|
|
request.onerror = function() {
|
|
cb(arguments, null);
|
|
};
|
|
|
|
request.send(JSON.stringify({
|
|
desiredCapabilities: {
|
|
browserName: 'phantomjs',
|
|
version: '',
|
|
platform: 'ANY'
|
|
}
|
|
}));
|
|
};
|
|
|
|
getSession(function (err, data) {
|
|
openUrl('http://reuter.de', data.sessionId, function (err) {
|
|
getScreenshot(data.sessionId, function (err, screenshot) {
|
|
var img = document.createElement('img');
|
|
img.src = 'data:image/png;base64,' + screenshot.value;
|
|
document.getElementsByTagName('body')[0].appendChild(img);
|
|
closeSession(data.sessionId);
|
|
});
|
|
});
|
|
}); |