Я сохранил все URL-адреса изображений в массиве и пытаюсь проверить, правильно ли загружено изображение. Если вы видите приведенный ниже код, мне пришлось повторять несколько строк снова и снова. Как я могу написать его как общий?Как передать параметр функции в casperjs?
casper.start()
var imagesArray = [];
imagesArray = ['https://www.google.co.in/images/srpr/logo11w.png',
'https://www.google.co.in/images/srpr/logo1w.png'];
casper.thenOpen(imagesArray[0], function() {
if (this.currentHTTPStatus === 404) {
this.warn(imagesArray[0] + ' is missing (HTTP 404)');
} else if (this.currentHTTPStatus === 500) {
this.warn(imagesArray[0] + ' is broken (HTTP 500)');
} else {
this.echo(' is okay (HTTP %s)');
}
});
casper.thenOpen(imagesArray[1], function() {
if (this.currentHTTPStatus === 404) {
this.warn(imagesArray[0] + ' is missing (HTTP 404)');
} else if (this.currentHTTPStatus === 500) {
this.warn(imagesArray[0] + ' is broken (HTTP 500)');
} else {
this.echo(' is okay (HTTP %s)');
}
});
casper.run(function() {
this.echo('Image loading test finished');
this.exit();
});
Я попробовал метод ниже, вызов функции, но его синтаксической ошибке метания, то, что я делаю неправильно, или как я могу продолжить с ним?
function checkImages(item){
if (this.currentHTTPStatus === 404) {
this.warn(item + ' is missing (HTTP 404)');
} else if (this.currentHTTPStatus === 500) {
this.warn(item + ' is broken (HTTP 500)');
} else {
this.echo(' is okay (HTTP %s)');
}
}
casper.thenOpen(imagesArray[0], function() {
this.evaluate(checkImages(imagesArray[0]));
});
casper.thenOpen(imagesArray[1], function() {
this.evaluate(checkImages(imagesArray[1]));
});
Заранее спасибо.
PhantomJS поддерживает 'Array.prototype.forEach', но его можно было решить с помощью IIFE внутри тела цикла. Я думаю, это выглядит лучше. –
Я не понимаю, почему вы думаете, что это решает проблему. Можете ли вы уточнить? Может, ты что-то забыл. Сначала вы извлекаете все ссылки со страницы. Затем вы перебираете все ссылки, но вы все еще находитесь на одной странице, и вы не открываете страницу, которую хотите проверить. Таким образом, если стартовая страница не загружается, каждая ссылка должна завершиться неудачей, но поскольку стартовая страница не удалась, нет никакой ссылки для проверки, и вы получите 73 сомнительных тестовых примера. –