Как ждать, пока все перенаправления завершат использование intern/web driver?

Я пытаюсь проверить, что приложение перенаправляет пользователя от аутентифицированного маршрута, так как он не является администратором.

Но мне нужен способ дождаться окончания всех перенаправлений, прежде чем я позвоню getCurrentUrl()

    it('should not allow regular user access', async (test) => {
  await test.remote
      .then(e2e.impersonate('test@test.com'))
      .get('/protected-route')
      //.waitForAllRedirects()
      .getCurrentUrl()
      .then(url => {
        console.log('url', url);
        expect(url.indexOf('/landing-page')).not.toBe(-1);
        return true;
      });
});

1 ответ

Вероятно, самое простое, что нужно сделать, - это искать контент, который должен быть на незащищенной странице, а не на защищенной странице. Как только вы нашли ожидаемый контент, проверьте URL, чтобы убедиться, что вы находитесь там, где должны быть.

it('should not allow regular user access', test => {
  return test.remote
    .then(e2e.impersonate('test@test.com'))
    .get('/protected-route')
    .findByCssSelector('.something.that.should.be.visible')
    .getCurrentUrl()
    .then(url => {
      console.log('url', url);
      expect(url.indexOf('/landing-page')).not.toBe(-1);
      return true;
    });
});
Другие вопросы по тегам