将属性值保存到变量

时间:2015-12-03 13:44:37

标签: angularjs protractor

我需要将一个属性值保存到一个变量中,以便发送给后一个对象来验证我上传的图片,它可以使用我获得的src属性访问一个唯一的src id。稍后,将搜索图片列表以查找特定上传的图片。

getPictureSrc: function() {
    var el = $('img');
    var uniqueId = el.getAttribute('src');
    return uniqueId;
  },
  findPicture: function() {
    browser.get('a different webpage then the upload page');
    var findPic = getPictureSrc();
    var allPics = $$('img');
    helper.expectedConditions.isVisible(allPics.$(findPics));
  },

然而,当我运行此代码时,我执行console.log()并返回可用命令列表。不是来源。但是,如果我对src确实显示的某个随机值做了预期。所以我想有两个问题,如何将属性值打印到控制台以及如何将属性值从对象传递到对象。谢谢。

1 个答案:

答案 0 :(得分:2)

  

但是,当我运行此代码时,我会执行console.log()并返回可用命令列表。

getPictureSrc() 返回承诺。承诺是您在控制台上看到的内容。如果您需要实际值,请明确解决承诺:

getPictureSrc().then(function (src) {
    console.log(src);
});
  

但是,如果我对src确实显示的某个随机值做了预期。

这是expect()的神奇之处 - 它被修补(由jasminewd包修补)以在做出期望之前隐式解决承诺。让expect()接受承诺非常方便。