typescript - Πώς να αλλάξω το παγκόσμιο χρονικό όριο του expect στο playwright
Γράφω σε playwright χρησιμοποιώντας cucumber και typescript.
Χρειάζομαι να αλλάξω τον προεπιλεγμένο χρόνο αναμονής προσδοκίας.
Παρατήρησα ότι κάθε matcher, όπως το toBeVisible(), έχει τους δικούς του χρόνους αναμονής, αλλά διάβασα επίσης στο εγχειρίδιο ότι το expect μπορεί να ρυθμιστεί έτσι (από το εγχειρίδιο)
const slowExpect = expect.configure({ timeout: 10000 });
await slowExpect(locator).toHaveText('Submit');
Ωστόσο θέλω η αλλαγή να είναι παγκόσμια. Υπάρχει επίσης πεδίο extend στον τύπο Expect.
//...
extend(matchers: any): void;
configure: (configuration: {
message?: string,
timeout?: number,
soft?: boolean,
}) => Expect;
//...
Ποιος είναι ο καλύτερος τρόπος να το πετύχεις;
Πρέπει να εξάγω το slowExpect, ή πρέπει να χρησιμοποιήσω extend σε κάποιο αρχείο ρυθμίσεων και επίσης να το εξάγω;
Απάντηση #1
Απλώς ορίστε την παγκόσμια αναμονή για το expect στη ρύθμιση και αυτό θα ισχύει για όλες τις επαληθεύσεις εκτός αν το παρακάμψετε σε μια συγκεκριμένη δήλωση expect.
import { defineConfig } from '@playwright/test';
export default defineConfig({
expect: {
timeout: 10 * 1000,
},
});
Απάντηση #2
Ο πιο εύκολος τρόπος να παρακαμφθεί η προεπιλεγμένη χρονική υπέρβαση είναι να ενημερωθεί στα hooks.
- Άνοιξε το 'hooks.ts'
- εισαγωγή 'setDefaultTimeout' από '@cucumber/cucumber'
- setDefaultTimeout(60 * 1000);
Αναφέρετε αυτή την εικόνα, πώς το έκανα στο σενάριό μου.
