CakePHP ist ein beliebtes PHP-Webanwendungs-Framework, das eine einfache und flexible Möglichkeit zur Entwicklung von Webanwendungen bietet. Manchmal benötigen wir jedoch ein fortgeschritteneres Tool, um die Benutzeroberfläche einer CakePHP-Anwendung zu testen. Nerz ist in dieser Situation ein sehr nützliches Werkzeug. Mink ist eine PHP-Bibliothek, die eine erweiterbare Sammlung von Treibern zum Testen von Webbrowsern bereitstellt.
In diesem Artikel wird die Verwendung von Mink in CakePHP vorgestellt, damit wir unsere Anwendungen besser testen können.
Schritt 1: Mink installieren
Zuerst müssen wir Mink in unserer CakePHP-Anwendung installieren. Hierfür können wir den Composer-Abhängigkeitsmanager verwenden. Wir können den folgenden Befehl verwenden:
composer require behat/mink behat/mink-extension
Dadurch werden die Mink-Bibliothek und die Mink-Erweiterung installiert. In diesem Tutorial werden wir die Mink-Erweiterung verwenden.
Schritt 2: Mink-Konfigurationsdatei definieren
Als nächstes müssen wir die Mink-Konfigurationsdatei definieren. Wir erstellen eine neue mink.php
-Datei im CakePHP-Projekt und definieren die Mink-Konfiguration. Hier ist eine Beispielkonfiguration: mink.php
文件,并定义Mink配置。下面是一个示例配置:
<?php use BehatMinkSession; use BehatMinkDriverSelenium2Driver; use BehatMinkExtensionContextMinkContext; // Bootstrap Mink for WebDriver and start an instance of a browser // You can specify Chrome, Safari, Firefox, etc. $driver = new Selenium2Driver('chrome'); $session = new Session($driver); $session->start(); // Configure our MinkContext object with the appropriate data $config = [ 'start_url' => 'http://localhost:8765', // The URL to start browsing at 'default_session' => 'selenium2', // Use the Selenium 2 (WebDriver) driver ]; $mink = new MinkContext(); $mink->setSession('selenium2', $session); $mink->setMinkParameters($config);
在上面的示例中,我们使用Selenium 2驱动程序启动一个Chrome实例,并定义了配置参数。
步骤3:编写Mink测试用例
完成上述配置后,我们可以编写Mink测试用例了。我们将在tests/acceptance
目录下创建一个新文件.feature
文件,该文件将包含我们的测试用例。
Feature: Testing the Login Functionality Scenario: Login with Correct Credentials Given I am on "/login" When I fill in "username" with "testUser" And I fill in "password" with "pass123" And I press "Login" Then I should see "Welcome, testUser"
在上面的测试用例中,我们使用了Gherkin语言来定义场景、步骤和预期结果。我们可以使用MinkContext
vendor/bin/behat --config mink.php tests/acceptance/login.feature
.feature
im Verzeichnis tests/acceptance
, die unsere Testfälle enthält. rrreee
Im obigen Testfall haben wir die Sprache Gherkin verwendet, um das Szenario, die Schritte und die erwarteten Ergebnisse zu definieren. Wir können diese Schritte mithilfe der in der KlasseMinkContext
bereitgestellten Methoden implementieren. Schritt 4: Führen Sie den Mink-Test aus Sobald wir den Mink-Test geschrieben haben, können wir den Test im Terminal mit dem folgenden Befehl ausführen: 🎜rrreee🎜Dadurch wird der Chrome-Browser gestartet, unser Testfall ausgeführt und der ausgegeben Ergebnisse an das Terminal. 🎜🎜Fazit🎜🎜In diesem Tutorial haben wir gelernt, wie man Mink für Web-UI-Tests in der CakePHP-Anwendung verwendet. Wir haben etwas über den Prozess der Installation von Mink, der Definition von Mink-Konfigurationsdateien und dem Schreiben von Testfällen gelernt. Mit diesen Schritten können wir unsere CakePHP-Anwendung besser testen und deren Korrektheit und Zuverlässigkeit sicherstellen. 🎜Das obige ist der detaillierte Inhalt vonWie verwende ich Mink mit CakePHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!