Как получить параметры запроса из API-интерфейсов транспортира

Я выполняю тестирование Е2Е в своем приложении Угловой 7, где у меня есть тестовый пример, в котором я применяю фильтры из пользовательского интерфейса, и фильтр прикреплен к URL-адресу как параметры запроса.

Сгенерированный URL будет выглядеть так:

http://localhost:4000/search?programme=1

Но когда я использую browser.getCurrentUrl(), он просто возвращает http://localhost:4000/searchбез параметры запроса.

Сейчас я использую browser.getLocationAbsUrl(), но сам Protractor выдает ошибку устарел.

it('Select GV filter and check params', () => {
    searchPage.selectOnePrgram();
    expect<any>(browser.getLocationAbsUrl()).toContain('program=1'); 
   // [11:53:11] W/protractor - `browser.getLocationAbsUrl()` is deprecated, please use `browser.getCurrentUrl` instead.

});

Мой вопрос: как я могу получить параметры запроса в свой файл .spec.ts?

ЕСТЬ ЛИ ЭТО ВООБЩЕ В E2E SCOPE ИЛИ ОН ДОЛЖЕН БЫТЬ В МОДУЛЬНОМ ТЕСТЕ?

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
2
0
941
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы просто управляете обещанием, используя then(), которое вы получаете от browser.getCurrentUrl().

Пример кода:

  browser.getCurrentUrl().then(
    (res) => {
      console.info(res);
      // response will includes the url with query params
    }
  );

используйте async/await вместо цепочки промисов. Следующее должно работать. getCurrentUrl возвращает обещание и требует разрешения. См. https://www.protractortest.org/#/api?view=webdriver.WebDriver.prototype.getCurrentUrl-

it('Select GV filter and check params', async () => {
await searchPage.selectOnePrgram();
let currentLoc = await browser.getCurrentUrl();
expect(currentLoc).toContain('program=1'); 

});

Другие вопросы по теме