Как использовать карму/жасмин для тестирования веб -приложения, которое открывает ссылку в новом окне/вкладке?Javascript

Форум по Javascript
Anonymous
Как использовать карму/жасмин для тестирования веб -приложения, которое открывает ссылку в новом окне/вкладке?

Сообщение Anonymous »

У меня есть небольшое веб -приложение, которое открывает ссылку в новом окне. Документ в новом окне затем взаимодействует с исходным веб -приложением через Dom. Полем Целевой документ не Angular, просто просто html/css/js:

Код: Выделить всё

  [url=/assets/probes/xss.html]Click here![/url]
< /code>
Тесты настраиваются в соответствии с Руководством по тестированию компонентов Angular. Вот фрагмент кода настройки: < /p>
  beforeEach(async () => {
TestBed.configureTestingModule(xssDemoConfig);
await TestBed.compileComponents();
fixture = TestBed.createComponent(XssDemoComponent);
fixture.detectChanges();

// ...
});
< /code>
Эта настройка работает как очарование для сотен других тестов. Новый тестовый код прост: < /p>
  el.querySelector('a').click();
Я подтвердил на консоли отладки браузера, что селектор возвращает правильный элемент . (И у меня есть другие рабочие тесты, которые запускают щелчок События по аналогичным ссылкам - только отличие в том, что эти ссылки имеют JavaScript: URL -адреса и не открывают новое окно или даже навигацию по запускам.)
Все работает как очарование при тестировании вручную в браузере. Тем не менее, Когда мои новые тесты пытаются щелкнуть по ссылке, вообще ничего не происходит . Нет нового окна, но без ошибки или сообщения журнала. Моя спецификация просто запускается в тайм -аут. (Я пробовал более щедрых тайм -аутов, но это не исправило.) [*] Почему это происходит? Если так, что из Их виноваты здесь?
Есть ли какой -нибудь способ обойти это нежелательное поведение? ? интеграция/e2e тесты. Итак, я делаю , а не , хочу что -либо издеваться (как показывают многочисленные ответы на подобные вопросы). Я действительно хочу проверить взаимодействие между двумя окнами (и в идеале отбросить новое окно после этого).

Подробнее здесь: https://stackoverflow.com/questions/794 ... a-new-wind

Вернуться в «Javascript»