Thanks to visit codestin.com
Credit goes to webdriver.io

Przejdź do głównej treści

waitForStable

Poczekaj na element przez podaną ilość milisekund, aby był stabilny (nie animowany). Zwraca true, jeśli selektor pasuje do co najmniej jednego elementu, który jest stabilny w DOM, w przeciwnym razie wyrzuca błąd. Jeśli flaga reverse jest ustawiona na true, polecenie zamiast tego zwróci true, jeśli selektor nie pasuje do żadnych stabilnych elementów.

Uwaga: najlepiej wyłączyć animacje zamiast używać tego polecenia

Użycie
$(selector).waitForStable({ timeout, reverse, timeoutMsg, interval })
Parametry
NameTypeDetails
options
optional
WaitForOptionsopcje waitForStable (opcjonalne)
options.timeout
optional
Numberczas w ms (domyślnie ustawiony na podstawie wartości konfiguracyjnej waitforTimeout)
options.reverse
optional
Booleanjeśli true, czeka na przeciwieństwo (domyślnie: false)
options.timeoutMsg
optional
Stringjeśli istnieje, zastępuje domyślny komunikat o błędzie
options.interval
optional
Numberinterwał między sprawdzeniami (domyślnie: waitforInterval)
Przykłady
index.html
<head>
<style>
div {
width: 200px;
height: 200px;
background-color: red;
}
#has-animation {
animation: 3s 0s alternate slidein;
}
@keyframes slidein {
from {
margin-left: 100%;
width: 300%;
}

to {
margin-left: 0%;
width: 100%;
}
}
</style>
</head>
<body>
<div #has-animation></div>
<div #has-no-animation></div>
</body>

waitForStable.js
it('should detect that element is instable and will wait for the element to become stable', async () => {
const elem = await $('#has-animation')
await elem.waitForStable({ timeout: 3000 });
});
it('should detect that element is stable and will not wait', async () => {
const elem = await $('#has-no-animation')
await elem.waitForStable();
});
Zwraca
  • <Boolean> return: true jeśli element jest stabilny

Welcome! How can I help?

WebdriverIO AI Copilot