Es gibt viele Artikel im Internet darüber, wie man SpecFlow verwendet und wie man TFS für die Ausführung von Tests konfiguriert, aber es gibt keinen, der alle Aspekte enthält. In diesem Artikel erzähle ich Ihnen, wie Sie das Starten und Bearbeiten von SpecFlow-Skripten für alle bequem gestalten können.
Unter dem Schnitt erfahren Sie, wie Sie Folgendes erhalten:
- Ausführen von Tests von TFS
- Automatische Verknüpfung von Skripten mit Testfällen in TFS
- Immer aktuelle Inhalte der Testfälle in TFS
- Möglichkeit, Skripte direkt im Versionskontrollsystem durch Tester zu bearbeiten
Vorgeschichte
Wir standen vor der Aufgabe, Anwendungstests mithilfe des BDD-Ansatzes zu automatisieren. Da die Basis des Aufgabenverfolgungssystems in unserem Unternehmen TFS ist, hatte ich ein Bild im Kopf, bei dem die Schritte des SpecFlow-Skripts die Schritte von Testfällen in TFS sind und Tests aus Testplänen gestartet werden. Nachfolgend erfahren Sie, wie ich es implementiert habe.
Was wir brauchen:
- Projekt mit Tests auf SpecFlow
- Azure DevOps Server (auch bekannt als Team Foundation Server)
- Ein Tool zum Synchronisieren von SpecFlow-Skripten mit Testfällen in TFS
Einstellung
1. Erstellen eines Projektbuilds mit Tests
Hier ist alles einfach, die Zusammenstellung und Veröffentlichung von Artefakten. Mehr zur dritten Aufgabe später.
2. Erstellen einer Version zum Ausführen von Tests
Erstellen einer Veröffentlichung mit einer Aufgabe – Visual Studio Test
In diesem Fall ist die Aufgabe so konfiguriert, dass Tests manuell über den Testplan ausgeführt werden
3. Synchronisierung von Testfällen
Wir wissen, dass Sie mit Visual Studio Testmethoden mit Testfällen in TFS verknüpfen und sie über Testpläne ausführen können. Um dies nicht manuell zu erledigen und auch um den Inhalt der Skripte zu synchronisieren, habe ich eine einfache Konsolenanwendung geschrieben
So verwenden Sie FeatureSync
Fügen Sie Namespace und Locale zum Feature-Datei-Header hinzu:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*Namespace muss mit dem Namen der DLL-Datei übereinstimmen, die die Testmethoden enthält
Wir erstellen leere Testfälle in TFS und fügen den Skripten Tags mit ihrer ID hinzu:
@2124573 @posistive
Scenario: Successful authorization
Given I on authorization page
And I enter:
| Login | Password |
| user | pass |
When I press Login button
Then Browser redirect on Home page
Starten Sie FeatureSync:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
In unserem Fall erfolgt der Start nach dem Erstellen des Projekts mit Tests:
Synchronisationsergebnis
SpecFlow-Skriptschritte werden synchronisiert und der Automatisierungsstatus wird festgelegt
4. Aufstellen eines Testplans
Wir erstellen einen Testplan, fügen unsere automatisierten Fälle hinzu und wählen in den Einstellungen Build und Release aus
5. Durchführung von Tests
Wählen Sie im Testplan den gewünschten Test aus und führen Sie ihn aus.
Abschluss
Die Vorteile dieser Konfiguration:
- Jeder Tester kann die Fetaure-Datei im Versionskontroll-Webformular öffnen und bearbeiten. Die Änderungen werden dann sofort nach dem Build wirksam
- Sie können Tests jederzeit einzeln durchführen
- transparentes Testmodell – wir wissen immer, was der von uns gestartete Test bewirkt.
Source: habr.com