Тестирование Ember.js: перейдите по ссылке ‹a›

Я тестирую приложение Ember, и у меня есть ссылка внутри таблицы.

Я могу перейти по ссылке с помощью селектора:

$('tr:nth-child(1) td:nth-child(3) a')

В моем тесте у меня есть:

click($('tr:nth-child(1) td:nth-child(3) a'));

Но после выполнения console.log(currentURL()); я не нахожусь на ссылке, на которую должен был перейти щелчок выше.

Нужно ли указывать более конкретную ссылку, по которой нужно щелкнуть? Или я неправильно использую клик? Или есть другой помощник по тестированию, который я должен использовать?


person James White    schedule 03.10.2014    source источник
comment
вы нашли решение для этого?   -  person ShivamD    schedule 11.01.2015
comment
Я не. Я сделал что-то еще, чтобы решить проблему, но не могу вспомнить, что сейчас.   -  person James White    schedule 12.01.2015


Ответы (2)


click — это асинхронный метод, вам нужно дождаться его завершения, прежде чем пытаться просмотреть результаты.

click($('tr:nth-child(1) td:nth-child(3) a'));
andThen(function(){
  console.log(currentURL());
});

or

click($('tr:nth-child(1) td:nth-child(3) a')).then(function(){
  console.log(currentURL());
});
person Kingpin2k    schedule 03.10.2014
comment
Я попробовал первое предложение, и только что попробовал еще раз, и происходит то же самое. Он не переходит по URL-адресу в ссылке. Второй ничего не возвращает, и console.log никогда не запускается. Я поместил его в предупреждение, и оно тоже не активировалось. Тест говорит, что объект не найден. - person James White; 04.10.2014
comment
Это вне вашего приложения ember? - person Kingpin2k; 04.10.2014
comment
Он находится в моем наборе тестов вместе с другими моими тестами. - person James White; 04.10.2014
comment
Я имею в виду тег привязки, является ли он частью шаблона внутри приложения. - person Kingpin2k; 04.10.2014
comment
да. Я могу ввести $('tr:nth-child(1) td:nth-child(3) a') в консоли разработчика, и он выделит ссылку на странице. - person James White; 05.10.2014

У меня именно эта проблема. В приложении Ember я могу щелкнуть тег, и появится модальное диалоговое окно, как и ожидалось. В тесте, который я пишу для этого модального окна, ничего не работает. я могу печатать

Ember.$('#id-of-tag').click();

на консоли JS, и появится модальное окно. Я вставляю это в тест, и ничего не происходит. Я тоже пробовал щелкнуть (найти ('# id-of-tag') [0]).

Мы используем Ember 2.7.3, но очень скоро перейдем на 2.12.

person Berry    schedule 07.06.2017