© KenoKickit/Shutterstock.com
PHP Magazin
Eine Übersicht zu CodeceptJS und weiteren Testtools

Tools für die Testautomation

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.

Rudolf Grötz


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 zu einigen Missverständnissen, da je nach Betrachter Verschiedenes darunter verstanden wird. 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, End-to-End) 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.

Ranking...

PHP Magazin
Eine Übersicht zu CodeceptJS und weiteren Testtools

Tools für die Testautomation

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.

Rudolf Grötz


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 zu einigen Missverständnissen, da je nach Betrachter Verschiedenes darunter verstanden wird. 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, End-to-End) 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.

Ranking...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang