Я пытаюсь вызвать функцию moveNext
, которая уже присутствует на странице. Эта функция помогает перейти к определенной странице, передав значение в качестве аргумента, например: moveNext(2)
. Я хочу снять снимок экрана с первой страницы до последней страницы. Однако, когда я запускаю эту команду в терминале casperjs test testsuite.js
, он захватывает 10 снимков экрана только первой страницы, а не каждой из каждой страницы.PhantomCSS - Невозможно вызвать функцию из DOM
casper.start('https://example.com');
function captureScreenshot(width, height, device, startPage, lastPage){
casper.viewport(width, height);
var currentPage;
casper.then(function() {
for (currentPage = startPage; currentPage < lastPage; currentPage++) {
phantomcss.screenshot('html', 'screenshot');
this.page.evaluate(function() {
console.log(currentPage);
moveNext(currentPage + 1);
});
}
});
casper.then(function now_check_the_screenshots() {
// compare screenshots
//phantomcss.compareAll();
for (var i= 0; i < 10; i++) {
phantomcss.compareExplicit(['/screenshot/layout/'+ device +'/screenshot-'+ i +'.jpg', '/screenshot/build/'+ device +'/screenshot-'+ i +'.png']);
phantomcss.compareExplicit(['/screenshot/layout/'+ device +'/screenshot-'+ i +'.jpg', '/screenshot/build/'+ device +'/screenshot-'+ i +'.png']);
}
});
}
/* Capture screenshot for desktop and compare them */
captureScreenshot(1920, 1080, 'desktop', 0, 10);
/* Capture screenshot for mobile and compare them */
//captureScreenshot(375, 667, 'mobile');
/* Casper runs tests */
casper.run(function() {
console.log('\nTHE END.');
// phantomcss.getExitStatus() // pass or fail?
casper.test.done();
});
Update:
После добавления casper.on("page.error/error");
я получаю эту ошибку:
FAIL addListener only takes instances of Function
# type: uncaughtError
# file: testsuite.js:118
# error: addListener only takes instances of Function
# [email protected]://platform/events.js:118:74
# phantomjs://code/testsuite.js:66:13
# [email protected]://platform/casper.js:1577:31
# [email protected]://platform/casper.js:404:28
# stack: not provided
вы используете 'casper.on ("page.error/ошибка/remote.message")' Колбек? и/или 'verbose: true/logLevel: 'debug'' –
@Igor После добавления' casper.on ("page.error/error/remote.message") 'Я получаю сообщение об ошибке. Пожалуйста, ознакомьтесь с обновленным вопросом. –
см. Этот пример: http://pastebin.com/7BpSAWcb –