量角器获取所有选择框(选项)值

嗖嗖

在测试中,我需要检查所有期望值是否都出现在选择框中。我花了一段时间,但终于创建了这个辅助函数:

function getSelectValues(elementFinder)
{
  var defer = protractor.promise.defer(),
      promise = defer.promise;

  elementFinder.all(by.tagName('option')).then(function(elements)
  {
    var values = [],
        elemCount = elements.length,
        counter = 0;

    elements.forEach(function(element)
    {
      element.getAttribute('value').then(function(optionValue)
      {
        counter += 1;
        values.push(optionValue);

        if(counter === elemCount)
        {
          defer.fulfill(values);
        }
      });
    })
  });

  return promise;
}

它可以工作,但是对我来说真的很难看。有更好的方法吗?

编辑:

再阅读两个小时的文档后,我的帮助程序功能简化为:

getSelectValues: function(elementFinder)
{
  return elementFinder.all(by.tagName('option')).map(function(elem, index)
  {
      return elem.getAttribute('value');
  });
}

profileType = element(by.model('regObj.profileType'));
expect(getSelectValues(profileType)).toEqual(['', 'aa', 'bb', 'cc']);
汉断

如果您使用的是量角器> 1.3.0,则可以执行以下操作:

var values = element(by.model('regObj.profileType')).
                 all(by.tagName('option')).getAttribute('value');
expect(values).toEqual(['', 'aa', 'bb', 'cc']);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

量角器:无法使用量角器获取所有元素

来自分类Dev

量角器 - 选择会选中所有选项,脚本无法正确选择其中之一

来自分类Dev

选择量角器中的特定选项

来自分类Dev

选择框获取所有选项值jQuery

来自分类Dev

量角器获取模型值

来自分类Dev

量角器:获取与xpath绑定的值

来自分类Dev

量角器 - 获取 cookie 的值

来自分类Dev

使用量角器选择元素内的所有元素

来自分类Dev

使用量角器选择元素内的所有元素

来自分类Dev

通过量角器中具有特定值的中继器获取元素?

来自分类Dev

使用量角器获取所有元素属性

来自分类Dev

使用量角器获取所有元素的 id

来自分类Dev

量角器-选择文本

来自分类Dev

量角器测试获取表条目的值

来自分类Dev

量角器通过行号获取textarea的值

来自分类Dev

用量角器获取伪元素的值

来自分类Dev

获取量角器中的元素属性值

来自分类Dev

量角器:getText无法获取输入字段的值

来自分类Dev

量角器,获取 href 值时出错

来自分类Dev

链接量角器中的所有语句

来自分类Dev

量角器:获取没有特定类的元素

来自分类Dev

量角器-如何断言表中没有值?

来自分类Dev

如何使用量角器从具有ng-reflect-value的选择中获取文本?

来自分类Dev

量角器中的'$'选择器

来自分类Dev

复杂的量角器选择器

来自分类Dev

量角器条件选择器

来自分类Dev

复杂的量角器选择器

来自分类Dev

如何获取选择元素的所有选项的值和文本

来自分类Dev

对于量角器测试,是否可以在没有browser.wait()函数的情况下获取waitElement对象的值?