2015-09-21 11 views
7

Ich habe mehrere Tests, die die Benutzeroberfläche testen und dazu dienen, Daten auf dem Weg zu erstellen.Wie kann ich Nightwatch-Tests in einer bestimmten Reihenfolge ausführen?

Ein separater Satz von Tests basiert auf diesen Daten, was bedeutet, dass diese erst nach dem ersten Satz ausgeführt werden müssen.

Ich weiß über das Ausführen einer Gruppe von ihnen, oder laufen sie mit Tags, aber wie kann ich sie in einer bestimmten Reihenfolge ausführen?

+0

Sie können einen einzelnen Testfall mit '--testcase' ausführen. Ich nehme an, du könntest sie einfach nacheinander benutzen. – Brian

+1

@Brian Nein, weil Nightwatch jedes Mal eine separate Sitzung erstellt, wenn wir den Test so ausführen, wie Sie es vorschlagen. –

Antwort

9

Nightwatch führt jeden Test in einer bestimmten Datei der Reihe nach durch, also wäre eine (naive) Lösung, jeden Test in der gleichen Datei in der Reihenfolge zu speichern, in der sie ausgeführt werden sollen.

Dies wird unhandlich, wenn Sie zu viele Tests für eine einzelne Datei haben. Um dies zu umgehen, können Sie Nightwatch nutzen, um jede Testdatei in alphabetischer Reihenfolge ablaufen zu lassen. Eine Möglichkeit wäre, jeder Testdatei eine Nummer voran zu geben, die die Reihenfolge angibt, in der sie ausgeführt werden sollen. Wenn Sie beispielsweise zwei Testdateien haben, before.js und after.js, und Sie zunächst before.js ausführen möchten, könnten Sie das tun Ändern Sie einfach die Namen der Dateien in 01before.js und 02after.js. Dadurch liest Nightwatch die Dateien in der von Ihnen gewünschten Reihenfolge.