Estoy buscando una solución para agregar un parámetro de consulta en cada URL después de navegar usando WebDriverIO.
Por ejemplo: URL base: https://www.google.com/?block=true
Cuando hago clic en un botón en la página cargada desde la URL anterior, la nueva URL que se carga es https://www.google.com/search-page .
Me gustaría agregar ?block=true a todas las navegaciones.
Para la URL base, puedo usar el método browser.url("https://www.google.com/?block=true") . No estoy seguro de cómo puedo agregar a otras páginas que se navegan mediante acciones de clic.
Puede usar URLSearchParams para generar parámetros de búsqueda complejos. Mira el siguiente ejemplo.
const baseUrl = "https://www.google.com/?block=true"; // window.location.href const searchUrl = "https://www.google.com/search?test=testparam"; function getRedirectUrl(baseUrl, newUrl) { let oldParms = new URL(baseUrl).searchParams; const newUrlParams = new URL(newUrl).searchParams; for(let [value, key] of oldParms.entries()){ newUrlParams.append(key, value); } const newSearch = new URL(newUrl).search; return `${newUrl.slice(0, -1 * newSearch.length)}?${newUrlParams.toString()}`; } console.log(getRedirectUrl(baseUrl, searchUrl));