Rudolf Grötz Raiffeisen Bank International

„CodeceptJS ist ein vielversprechendes Testautomationstool für End-2-End-Tests im Bereich Webanwendungen.“

JavaScript ist bei Weitem die führende Sprache für Webentwicklung. Die meisten Frameworks für die Entwicklung von Webanwendungen basieren darauf. Neu am Markt im Bereich der Testautomationsframeworks ist CodeceptJS. Dieser Artikel stellt einige Testtools vor und gibt eine Einführung in die Handhabung und Arbeitsweise von CodeceptJS.

Führende Webentwicklungsframeworks wie Angular, React, Vue.js und andere nutzen JavaScript. Aber auch Testautomationsframeworks wie Protractor, Nightwatch.js und WebdriverIO basieren darauf. JavaScript ist eine der führenden Sprachen der Webentwicklung. Aufgrund dessen ist es nicht verwunderlich, dass die meisten Open-Source-Testtools auch in JavaScript geschrieben sind und das automatisierte Testen dieser Anwendungen unterstützen. Das Testautomationsframework CodeceptJS ist neu auf dem Markt und verwendet einen szenariogesteuerten Behavior-Driven-Development-Ansatz (BDD).

Typen von Testtools

Der Begriff Testtool führt in der Literatur zu einigen Missverständnissen, da je nach Betrachter und Betrachtungsweise andere Dinge darunter verstanden werden. Auch Wikipedia ist hier außen vor. Testtools können in die folgenden Funktionalitäten unterteilt werden:

  • Bereitstellung einer Testdurchführungsinfrastruktur (Mocha, Jasmine, Jest, Karma, Cucumber)
  • Bereitstellung von Assertionsfunktionen (Chai, Jasmine, Jest)
  • Bereitstellung von Mocks und Stubs (Sinon, Jasmine, Jest)
  • Bereitstellung von Durchführungs- und Code-Coverage-Berichten (Istanbul, Jest)
  • Bereitstellung einer Browser- oder browserartigen Umgebung für die Durchführung von GUI-Tests (Protractor, Nightwatch.js, WebdriverIO)

Einige davon bieten nur eine einzige Funktionalität, andere bieten eine Kombination. In den meisten Fällen ist es üblich, eine Kombination von Testtools zu verwenden, auch wenn dasselbe mit einem einzigen Werkzeug erreicht werden kann, um eine gewisse Flexibilität im Umgang mit den Testtools zu erhalten. Beim Schreiben von UI-E2E-Tests (User Interface (UI), End-to-End (E2E)) stehen mehrere Frameworks zur Verfügung, die es einem Neuling schwer machen, eine Entscheidung zu treffen, welches Framework verwendet werden soll. Die Entscheidung zugunsten des falschen Frameworks kann teuer werden. Hier kommt CodeceptJS ins Spiel.

In CodeceptJS werden Tests in einer Domain Specific Language geschrieben, die für Nicht-Techniker einfach zu verstehen und zu verwenden ist. Aber noch wichtiger ist die Tatsache, dass die DSL die darunterliegenden, zur Anwendung kommenden Testautomationsframeworks abstrahiert. Egal, welches Framework Sie verwenden, Tests sollten fast gleich aussehen. Wenn Sie (später) die Einschränkung eines Frameworks spüren, können Sie Ihre Tests leicht umstellen. Das heißt, dass mit ein und demselben CodeceptJS-Code verschiedene Testautomationsbibliotheken wie Protractor, Nightwatch.js, WebdriverIO und Appium angesteuert werden können.

Den vollständigen Artikel lesen Sie in der Ausgabe:

PHP Magazin 1.19 - "Symfony: Die neue Messenger-Komponente"

Alle Infos zum Heft
579859341Eine Übersicht zu CodeceptJS und weiteren Testtools
X
- Gib Deinen Standort ein -
- or -