2

我正在尝试编写一个测试来检查元素是否具有类:

element('#header-menu .menu-component-item a').query(function(els, done) {
  var el = els.eq(4);

  el.click();
  sleep(.25);

  expect(browser().location().path()).toBe(el.attr('href'));
  expect(el.attr('class')).toContain('selected');
  done();
});

问题是我不断收到错误TypeError: Cannot read property 'indexOf' of undefined。我期望el.attr('class')成为未来,但我不确定为什么不是。还有其他方法吗?

4

1 回答 1

0

您需要$digest()在更改生效之前对其进行更改。尝试这个:

var el = els.eq(4);

el.click();
scope.$digest();

expect(browser().location().path()).toBe(el.attr('href'));
expect(el.attr('class')).toContain('selected');

尽管对于 Angular 应用程序而言,您的大部分代码看起来都与 JQuery 相去甚远。

于 2014-08-04T17:15:06.240 回答