Как использовать карму/жасмин для тестирования веб -приложения, которое открывает ссылку в новом окне/вкладке?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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