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 に答える