Timeouts instellen
Deze handleiding beschrijft hoe u de timeout-instellingen configureert in Axe Watcher voor JavaScript, TypeScript en Java
Wanneer u toegankelijkheidstests uitvoert met Axe Watcher, kunt u timeouts ervaren, vooral op complexe pagina's, via trage netwerken of in CI/CD-omgevingen met beperkte resources. Deze handleiding legt uit hoe u timeout-waarden kunt instellen om ervoor te zorgen dat uw tests succesvol worden voltooid.
Hoewel de Java-implementatie van Watcher geen ondersteuning biedt voor aangepaste timeouts, zijn er verschillende strategieën die u kunt volgen om de noodzaak van timeouts te verminderen. Zie Workarounds voor Java Timeout Problemen.
Watcher Timeouts Begrijpen
Axe Watcher communiceert met Deque's servers tijdens testruns en voert analyseoperaties uit die in duur kunnen variëren afhankelijk van de pagina-complexiteit. Vier operaties hebben instelbare timeouts:
analyze: Tijd toegestaan voor het analyseren van de toegankelijkheid van een pagina (standaard: 5000ms)flush: Tijd toegestaan voor het verzenden van resultaten naar Axe Developer Hub (standaard: 5000ms)start: Tijd toegestaan voor het hervatten van auto-analyse (standaard: 2000ms)stop: Tijd toegestaan voor het pauzeren van auto-analyse (standaard: 5000ms)
Als u timeout-fouten ondervindt met Watcher, ziet u een bericht dat lijkt op:
Error: Watcher could not send results to the server. To resolve this problem, adjust your `timeout.flush` property within your configuration or see [Troubleshooting](https://docs.deque.com/devtools-for-web/wa-troubleshooting) for more troubleshooting guidance.JavaScript en TypeScript Configuratie
Voor JavaScript- en TypeScript-projecten die gebruikmaken van het @axe-core/watcher-pakket, kunt u timeouts configureren via de timeout-eigenschap in uw AxeConfiguration-object.
Basis Timeout Configuratie
const config = playwrightConfig({
axe: {
apiKey: process.env.API_KEY,
projectId: process.env.PROJECT_ID,
timeout: {
analyze: 10000, // 10 seconds
flush: 15000, // 15 seconds
start: 5000, // 5 seconds
stop: 10000 // 10 seconds
}
}
});U hoeft alleen de timeouts op te geven die u wilt overschrijven; alle overgeslagen waarden gebruiken hun standaardinstellingen.
Belangrijke Overwegingen voor JavaScript/TypeScript
De timeout-waarden van Watcher zijn onafhankelijk van de timeouts van uw testframework. Als u timeout-fouten ziet, moet u mogelijk beide aanpassen. Het onderstaande voorbeeld toont hoe u de timeout van Playwright kunt instellen om overeen te komen met die van Watcher.
// In your Watcher config
timeout: {
analyze: 45000,
flush: 20000
}
// Adjust the timeout for a single Playwright test.
test('basic functionality test', async ({ page }) => {
test.setTimeout(45000);
// ...
});Als u commando's aan het koppelen bent, zorg er dan voor dat uw totale test-timeout rekening houdt met de totale duur van de operaties.
Java Configuratie
Java Watcher ondersteunt momenteel geen aangepaste timeouts. De timeout-waarden zijn in de Java-implementatie ingesteld op de initiële JavaScript/TypeScript-waarden.
Workarounds voor Java Timeout Problemen
Hoewel u timeouts niet direct kunt configureren in Java, overweeg deze benaderingen:
-
Optimaliseer pagina-complexiteit: Als pagina's tijdens de analyse consequent time-outen, overweeg dan om tests op te splitsen in kleinere, meer gerichte testcases die minder paginastaten analyseren.
-
Controleer netwerkcondities: Zorg voor stabiele netwerkverbindingen tussen uw testomgeving en Deque's servers, vooral in CI/CD-pipelines.
-
Neem contact op met Deque Support: Als timeout-problemen blijven bestaan, neem dan contact op met het supportteam van Deque, want toekomstige versies van Java Watcher kunnen instelbare timeouts bevatten.
Wanneer Timeouts Verhogen
Overweeg het verhogen van timeout-waarden wanneer:
- Testen van pagina's met grote DOM-structuren (duizenden elementen)
- Tests uitvoeren in CI/CD-omgevingen met beperkte middelen
- Testen via netwerken met hoge latentie
- Analyseren van pagina's met complexe DOMs
- Meerdere parallelle testprocessen uitvoeren
Problemen Oplossen met Timeout Fouten
Als u timeout-fouten ervaart:
-
Identificeer welke operatie uitloopt: Het foutbericht geeft aan of het
analyze,flush,startofstopis. -
Controleer op andere problemen: Timeouts kunnen soms wijzen op onderliggende problemen zoals netwerkproblemen, misgeconfigureerde proxy's of pagina's die niet volledig laden.
-
Bekijk de probleemoplosser-gids: Zie Probleemoplossing voor aanvullende richtlijnen.
Samenvatting
| Taal | Timeout Configuratie | Standaardwaarden |
|---|---|---|
| JavaScript/TypeScript | Volledig configureerbaar via timeout object |
analyze: 5000ms, flush: 5000ms, start: 2000ms, stop: 5000ms |
| Java | Momenteel niet configureerbaar | Ingesteld op de standaardwaarden van JavaScript/TypeScript: analyze: 5000ms, flush: 5000ms, start: 2000ms, stop: 5000ms |
Voor JavaScript- en TypeScript-projecten zorgt het configureren van passende timeouts voor betrouwbare testuitvoering in verschillende omgevingen. Java-gebruikers moeten zich richten op het optimaliseren van de teststructuur en netwerkvoorwaarden.
