在 Nightwatch.js 中验证图像加载

Validating Image Load in Nightwatch.js

我正在尝试在 Nightwatch.js 中编写一个脚本来验证给定页面上的图像是否正确加载。我设法让它循环浏览页面上的图像并给我 URL,但我无法让它加载图像和 return width/height。 (通过检查以确保宽度 > 0 以确保其正确加载的想法。)

我在下面的脚本中收到 "done" 消息,但从未看到 "loaded..."、宽度、高度或“!!!!”值输出。

我也完全接受使用 Nightwatch.js 验证图像是否已加载的不同方法,但当前练习的 objective 是使用 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');


      });
    }
  });

Nightwatch 已经提供了获取元素大小的本机方法,.getElementSize(selector, callback)

http://nightwatchjs.org/api/getElementSize.html