Cześć,
Aktualnie piszę, a w zasadzie jestem na samym początku pisania testów automatycznych do API Yahoo z użyciem RestAssured, Selenium i Javy. I mam taki problem. Aby uzyskać kod potrzebny do pobrania tokena konieczne jest wejście do przeglądarki pod adres, który wygląda mniej więcej tak:
https://api.login.yahoo.com/oauth2/request_auth?client_id=tutaj_id&redirect_uri=https://exemplary2.redirect.uri.com&response_type=code
I zanim strzele do api po token chce sobie wejść z użyciem selenium pod wskazany powyżej adres URL (on po wejściu w niego ręcznie w przeglądarce zmienia postać na taką - "https://exemplary2.redirect.uri.com/?code=59npa7y" i tutaj mam upragnione code)
Gdy wchodzi się ręcznie pod adres, wszystko jest ok, ale w momencie, gdy używam do tego selenium:
driver.get("https://api.login.yahoo.com/oauth2/request_auth?client_id=tutaj_id&redirect_uri=https://exemplary2.redirect.uri.com&response_type=code");
To on otwiera przeglądarke i wchodzi pod adres, ale mi to przerabia na coś takiego i nie mam zwrotnego url z code -
https://login.yahoo.com/?done=https%3A%2F%2Fapi.login.yahoo.com%2Foauth2%2Frequest_auth%3Fclient_id%3Ddj0yJmk9Sk11QTEzTHA4QzVYJnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTc3%26redirect_uri%3Dhttps%253A%252F%252Fexemplary2.redirect.uri.com%26response_type%3Dcode&src=oauth&redirect_uri=https%3A%2F%2Fexemplary2.redirect.uri.com&client_id=tutaj_id
Próbowałem użyć zamiast driver.get, navigate().to. Próbowałem te stringi jakoś posklejać, concatem, +. StringBuilderem appdendować. Cały czas nic. Kończą mi się pomysły powoli.
Czy jest ktoś w stanie zaproponować jeszcze jakiś pomysł?
Z góry dzięki za odpowiedź.