我正在尝试用Nightwatch.js编写一个脚本,以验证给定页面上的图像是否正确加载。我已经设法让它循环浏览页面上的图像,并为我提供URL,但我无法让它加载图像并返回宽度/高度。(其思想是检查以确保宽度>0,以确保其正确加载。)
我在下面的脚本中得到了“完成”消息,但从未看到“已加载...”、宽度、高度或“!”值输出。
对于使用Nightwatch.js验证图像是否已加载的不同方法,我也完全持开放态度,但当前练习的目标是使用Nightwatch.js。(我们还在调查其他损坏的图像检查,但我正在探索将其与我们正在使用Nightwatch.js进行的其他测试一起进行。)
browser.elements('css selector', 'img', function(result) {
for (var element in result.value) {
this.elementIdAttribute(result.value[element].ELEMENT,'src',function(result) {
console.log(result.value);
var imgwidth = browser.execute(function(result) {
var img = new Image();
img.onload = function() {
console.log('loaded...');
var width = img.naturalWidth,
height = img.naturalHeight;
console.log(width);
console.log(height);
};
img.src = result.value;
console.log('!!!!!');
});
console.log('done');
});
}
});发布于 2018-02-22 22:07:31
Nightwatch已经提供了用于获取元素大小的本机方法.getElementSize(selector, callback)
http://nightwatchjs.org/api/getElementSize.html
https://stackoverflow.com/questions/48914131
复制相似问题