Ich bin neu im gesamten Konzept der Erfassung von JS-Abdeckung. Die Art, wie ich das JS-Coverage-Tool verwenden möchte, besteht darin, zu überprüfen, wie viele Zeilen meines JS-Codes von meinen Tests in einem Browser betroffen sind, um so meine Testabdeckung zu improvisieren. Kann jemand mich zu einem Beispiel/Werkzeug führen, wie man JS Deckung für den Test, der mit selen webdriver läuft, erfasst.JS-Codeabdeckung mit Selentests
Antwort
Ein Werkzeug wie nyc ist, was Sie brauchen. Nehmen Sie Ihre js Datei (en) und führen so etwas wie
nyc Instrument
auf sie und nyc werden die js Dateien aufzeichnen Abdeckung ändern. Verwenden Sie diese geänderten Dateien auf Ihrer Website. Dann führen Sie Ihre Selen-Tests durch. Am Ende des Selenentests müssen Sie die Daten aus den JS-Dateien erfassen und in einer JSON-Datei speichern. Ich benutze diesen Code dafür.
IJavaScriptExecutor js = (IJavaScriptExecutor) -Treiber; string coverageData = (Zeichenfolge) js.ExecuteScript ("return JSON.stringify (window.cov_h0rgge4zy);"); File.WriteAllText (@ "C: \ someDir \ Abdeckung \" + DateTime.Now.Ticks + ".json", "{\" someFile \ ":" + coverageData + "}");
laufen dann so etwas wie
nyc Bericht html someCoverage.json
und Sie werden die Berichterstattung Bericht, html-Format
- 1. Firefox 13 brach Selentests
- 2. Wie man Gurken-/Selentests in Docker durchführt?
- 3. Laufende Selentests in Parrallel (mehr als 2)
- 4. Docker-Image erstellen, um Selentests mit verschiedenen Browserversionen auszuführen
- 5. Selentests, ohne sich bei jedem Test anmelden zu müssen
- 6. So führen Sie Selentests im Headless-Modus auf dem Mac mit Webdriver mit Firefox aus 17.0.1
- 7. Identifizieren, ob ein Element das Attribut rel = "nofollow" verwendet, das CSS für Selentests verwendet
- 8. Wie man Treiber für Selentests global von der Methode setUp im Unittest einstellt
- 9. xpath: finde Element mit Attribut AND enthält?
- 10. So öffnen Sie die Chrome Developer-Konsole in Selenium WebDriver mit JAVA
- 11. Haben Sie einen Selenium-Test mit JavaScript erzwingen?
- 12. Selen, specs und scala
- 13. Wie alle Container stoppen, wenn ein Container mit Docker-Compose aufhört?
- 14. Micosoft Edge-Clean-Sitzung
- 15. Selenium/PageFactory: Finden Sie untergeordnete Elemente mit @FindBy des Elternelements?
- 16. Übereinstimmende Element-IDs mit der dynamischen JSF-Sicht-ID
- 17. Wo ist PHP Selen Test documentaiton
- 18. Docker-komponieren deaktivieren Ausgabe auf einem der Container
- 19. JavaScript-Ausdruck zum Generieren einer 5-stelligen Zahl in jedem Fall
- 20. Wie zwingen, TestNG für jede Methode neue Instanz der Testklasse erstellen, wenn Modus läuft parallel = „Methoden“
- 21. Jenkins rennen Selenium Tests im Hintergrund
- 22. C# geckodriver selen ff
- 23. Wie laufe ich chromexemplare in foreground/ontop, wenn der Test durch fitnesse läuft wiki
- 24. Wie umgehen Sie die Firefox-Update-Seite bei der Verwendung von Selen?
- 25. Pytest kann die Befehlszeilenargumente bei Setups nicht verstehen
- 26. Wie * Hot-Code Replacement * verwenden, um meine XPath zu korrigieren es falsch ist
- 27. Webseite ist 450kb. Ist die Größe der Seite, die Selen-XPath erstellt, 30 Sekunden lang, um ein Element nach ID im IE zu finden?
- 28. Wie Selen/Phantomjs Javascript-Fehler anzeigen?
- 29. Jenkins läuft Selen-Tests, ohne den Browser zu öffnen
- 30. Erhalten der Laufzeittyp eines transparenten Proxy wird in diesem Kontext nicht unterstützt
Ich habe versucht JSCover bekommen und beobachtet wenige Scharnierseite: 1. JSCover-Proxy unterstützt derzeit nur HTTP, nicht HTTPS 2. Mit HTTP sammelt es nicht die Coverage-Daten meiner Anwendung 3. Nicht sicher, ob das Repository in letzter Zeit gepflegt wird – user3488072
Auch mit der folgenden Bewertung bin ich eher geneigt, mit istanbul [ Link] (http: // stackoverflow.com/questions/32042195/blanket-js-vs-istanbul-js-vs-jscover) jede Hilfe rund um dies würde sehr geschätzt – user3488072
> 2. Mit HTTP sammelt es nicht die Abdeckung Daten meiner Anwendung Dort muss etwas falsch mit Ihrer Konfiguration sein. Es gibt Arbeitsbeispiele unter https://github.com/tntim96/JSCover-samples. > 3. Nicht sicher, ob das Repository in letzter Zeit gepflegt wird Es ist. Letzte Veröffentlichung war der 13. Dezember 2016 (vor 28 Tagen von heute). – tntim96