Aller au contenu principal

url

La commande url charge une URL dans le navigateur. Si une baseUrl est spĂ©cifiĂ©e dans la configuration, elle sera ajoutĂ©e comme prĂ©fixe au paramĂštre url en utilisant la mĂ©thode url.resolve() de Node. Appeler browser.url('...') avec la mĂȘme url que prĂ©cĂ©demment dĂ©clenchera un rechargement de la page. Cependant, si l'url contient un hachage, le navigateur ne dĂ©clenchera pas une nouvelle navigation et l'utilisateur devra rafraĂźchir la page pour en dĂ©clencher une.

La commande renvoie un objet WebdriverIO.Request qui contient des informations sur les donnĂ©es de requĂȘte et de rĂ©ponse du chargement de la page :

interface WebdriverIO.Request {
id?: string
url: string
timestamp: number
navigation?: string
redirectChain?: string[],
headers: Record<string, string>
cookies?: NetworkCookie[]
\/**
* Message d'erreur si la requĂȘte a Ă©chouĂ©
*\/
error?: string
response?: {
fromCache: boolean
headers: Record<string, string>
mimeType: string
status: number
},
/**
* Liste de toutes les requĂȘtes qui ont Ă©tĂ© faites en raison de la requĂȘte principale.
* Remarque : la liste peut ĂȘtre incomplĂšte et ne contient pas les requĂȘtes qui ont Ă©tĂ©
* faites aprĂšs la fin de la commande.
*
* La propriĂ©tĂ© sera indĂ©finie si la requĂȘte n'est pas une requĂȘte de document
* qui a été initiée par le navigateur.
*\/
children?: Request[]
}

La commande prend en charge les options suivantes :

wait​

L'état souhaité dans lequel la ressource demandée doit se trouver avant de terminer la commande. Elle prend en charge les états suivants :

  • none : pas d'attente aprĂšs la requĂȘte de page et la rĂ©ception de la rĂ©ponse
  • interactive : attendre jusqu'Ă  ce que la page soit interactive
  • complete : attendre jusqu'Ă  ce que l'arbre DOM de la page soit complĂštement chargĂ©
  • networkIdle : attendre jusqu'Ă  ce qu'il n'y ait plus de requĂȘtes rĂ©seau en attente

headers​

En-tĂȘtes Ă  envoyer avec la requĂȘte.

Par défaut : {}

auth​

Identifiants d'authentification de base. Remarque : cela Ă©crasera l'en-tĂȘte Authorization existant s'il est fourni dans l'option headers.

timeout​

Si défini sur un nombre, la commande attendra le nombre spécifié de millisecondes pour que la page charge toutes les réponses avant de retourner.

Remarque : pour que cela ait un impact, l'option wait doit ĂȘtre dĂ©finie sur networkIdle.

Par défaut : 5000

Utilisation​
browser.url(url, { wait, timeout, onBeforeLoad, auth, headers })
Paramùtres​
NomTypeDétails
url
optionnel
stringl'URL vers laquelle naviguer
options
optionnel
UrlOptionsoptions de navigation
options.wait
optionnel
'none', 'interactive', 'networkIdle', 'complete'L'état souhaité dans lequel la ressource demandée doit se trouver avant de terminer la commande. Par défaut : 'complete'
options.timeout
optionnel
numberSi défini sur un nombre, la commande attendra le nombre spécifié de millisecondes pour que la page charge toutes les réponses avant de retourner. Par défaut : 5000
options.onBeforeLoad
optionnel
FunctionUne fonction qui est appelée avant que votre page ait chargé toutes ses ressources. Elle vous permet de simuler facilement l'environnement, par exemple en remplaçant les API Web que votre application utilise.
options.auth
optionnel
{user: string, pass: string}identifiants d'authentification de base
options.headers
optionnel
Record<string, string>en-tĂȘtes Ă  envoyer avec la requĂȘte
Exemples​
url.js
// naviguer vers une nouvelle URL
const request = await browser.url('https://webdriver.io');
// afficher l'url
console.log(request.url); // affiche : "https://webdriver.io"
console.log(request.response?.status); // affiche : 200
console.log(request.response?.headers); // affiche : { 'content-type': 'text/html; charset=UTF-8' }

baseUrlResolutions.js
// Avec une URL de base http://example.com/site, les paramÚtres d'url suivants se résolvent comme suit :
// En fournissant un schéma :
// https://webdriver.io
await browser.url('https://webdriver.io');

// Lorsqu'elle ne commence pas par une barre oblique, l'URL se résout par rapport à la baseUrl
// http://example.com/site/relative
await browser.url('relative');

// Lorsqu'elle commence par une barre oblique, l'URL se résout par rapport au chemin racine de la baseUrl
// http://example.com/rootRelative
await browser.url('/rootRelative');

basicAuth.js
// naviguer vers une URL avec authentification de base
await browser.url('https://the-internet.herokuapp.com/basic_auth', {
auth: {
user
pass
}
});
await expect($('p=Congratulations! You must have the proper credentials.').toBeDisplayed();

onBeforeLoad.js
// naviguer vers une URL et simuler l'API batterie
await browser.url('https://pazguille.github.io/demo-battery-api/', {
onBeforeLoad (win) {
// simuler la propriété "navigator.battery"
// en renvoyant un objet de charge fictif
win.navigator.getBattery = () => Promise.resolve({
level: 0.5,
charging: false,
chargingTime: Infinity,
dischargingTime: 3600, // secondes
})
}
})
// maintenant nous pouvons affirmer le texte réel - nous sommes chargés à 50%
await expect($('.battery-percentage')).toHaveText('50%')
// et a suffisamment de jus pour 1 heure
await expect($('.battery-remaining')).toHaveText('01:00)
Retourne​
  • <WebdriverIO.Request> returns: un objet de requĂȘte du chargement de page avec des informations sur les donnĂ©es de requĂȘte et de rĂ©ponse

Welcome! How can I help?

WebdriverIO AI Copilot