Ich möchte für Web-Komponenten auf der Seite vor dem Ausführen alle TestCafe Tests ein Upgrade warten (Mit anderen Worten, warten Sie auf WebComponentsReady
Ereignis bevor die Tests ausgeführt wird). Was ist der beste Weg, dies zu tun?Was ist der beste Weg für ‚WebComponentsReady‘ Veranstaltung in TestCafe warten?
Antwort
TestCafe startet eine Aktion auf der Seite ausgeführt werden, nachdem das DOMContentReady
Ereignis ausgelöst wird. Wie ich sehe, kann das WebComponentsReady
Ereignis vor DOMContentReady
angehoben werden. TestCafe ermöglicht es Ihnen, für einige Ereignisse im Browser zu warten, von ClientFunction mit:
const waitForWebComponentsReady = ClientFunction(() => {
return new Promise(resolve => {
window.addEventListener('WebComponentsReady', resolve);
});
});
await waitForWebComponentsReady();
Beachten Sie jedoch, dass TestCafe nicht garantieren können, dass dieser Code vor dem Ereignis ausgelöst wird WebComponentReady
ausgeführt wird. Daher wird dieses Versprechen nicht gelöst.
Als Lösung können Sie einen anderen Weg finden, um festzustellen, ob die erforderliche Web Component geladen wird. Zum Beispiel können Sie überprüfen, ob ein Element auf der Seite sichtbar ist:
await t.expect(Selector('some-element').visible).ok();
Inzwischen TestCafe haben eine Idee für zu add the capability to execute a custom script before page initialization scripts. Sie können Code wie folgt verwenden, wenn das Feature implementiert:
import { ClientFunction } from 'testcafe';
const initScript = `window.addEventListener('WebComponentsReady',() => window.WebComponentsLoaded = true);`;
fixture `My Fixture`
.page `http://example.com`
.addScriptToEachPage(initScript)
.beforeEach(async t => {
await t.expect(ClientFunction(() => window.WebComponentsLoaded)()).ok();
});
- 1. Was ist der beste Weg
- 2. Der beste Weg, auf .forEach() zu warten
- 3. was der beste Weg
- 4. Was ist der beste Weg zu warten, bis eine Animation in MVVM fertig ist?
- 5. Was ist der beste Weg für einen Server-Prozess auf Client-Eingabe/Nachrichten warten
- 6. Was ist der beste Weg zu
- 7. Was ist der beste Weg, Hashes zusammenzuführen?
- 8. Was ist der beste Weg für Web-Adressierung
- 9. Was ist der beste Weg für die Einführung von Webanwendungen?
- 10. Was ist der beste Weg für komplexes Shape-Matching?
- 11. Was ist der beste Weg in Selenium WebDriver zu warten, bis Schaltflächen aktiviert sind?
- 12. Was ist der beste Weg, um Daten in Webapi
- 13. Was ist der beste Weg, um auf eine GPS-Positionsbestimmung zu warten?
- 14. Was ist der beste Weg, Ausnahmen in Perl zu behandeln?
- 15. Was ist der beste Weg, EventDispatcher in EntityRepository zu injizieren?
- 16. Was ist der beste Weg, Programme in Windows zu vergleichen?
- 17. Was ist der beste Weg, um XLS-Datei in PHP
- 18. Was ist der beste Weg, um Ajax Anrufe durchlaufen
- 19. Was ist der beste Weg, um Client-Logs in MySQL
- 20. Was ist der beste Weg, Telefonnummer in Django Modellen speichern
- 21. Was ist der beste Weg, um Daten in nodejs mongoose
- 22. Was ist der beste Weg, um ein Zählerfeld in MySQL
- 23. Was ist der beste Weg, Wörterbücher in Python zu behandeln?
- 24. Was ist der beste Weg, Tabellendaten in Python zu schreiben?
- 25. Was ist der beste Weg, Tastenkombinationen in Eigentümerform zu sperren?
- 26. Was ist der beste Weg, Python Datetime in rethinkdb einzufügen?
- 27. Was ist der beste Weg, Diagramme in PowerPoint zu identifizieren?
- 28. Was ist der richtige Weg, auf Verbindungen zu warten?
- 29. Was ist der beste Weg zu warten, dass ein Administrator etwas validiert, bevor er es tut?
- 30. Was ist der beste Sortieralgorithmus für Papier?