Ich benutze Behat und Mink, um mehrere Sites zu testen. Zwei von ihnen verwenden Single Sign On, so eine meiner Test beinhaltet Login in eine Website, gehen Sie auf die zweite Seite und überprüfe ich angemeldet binSo testen Sie mit behat zwei Sites im selben Test mit unterschiedlichen Umgebungen (so unterschiedliche URLs)
Dies wird mit diesem Behat Code acomplished.
Feature: SSO
In order to login in all related sites
As a anonymous user
I want to login in just one site
Scenario: Login with normal user
Given I am on "/user/login"
When I fill in "name" with "username"
And I fill in "pass" with "password"
And I press "login"
Then I should see "My account"
And I go to "http://server.developer1.workstations/"
Then I should see "Close session"
Dies funktioniert, aber das Problem ist, diese Zeile:
And I go to "http://server.developer1.workstations/"
Wir haben verschiedene Umgebungen (lokale Entwickler, Entwickler, stagging) mit unterschiedlichen URLs, also kann ich nicht einen Test schreiben, die in jeder Maschine arbeitet. Der erste Server ist ok, da ich unterschiedliche base_url-Einstellungen für jede Maschine haben kann, aber ich finde keine Möglichkeit, den zweiten Server als allgemeine Einstellungen festzulegen, anstatt jede Feature-Datei, die diese zweite Server-URL ändert, neu zu schreiben.
Gibt es eine Möglichkeit, Variablen, Konstanten oder etwas zu deklarieren, das in einer Datei gespeichert werden kann, die für jede Maschine unterschiedlich ist? diese
Anstatt eine Unzahl von 'slave1_url',' slave2_url' usw. zu erstellen, erstellen Sie den Parameter 'slave_url' und überladen Sie ihn mit den Behath-Profilen. Führen Sie dann in den Zielumgebungen ein anderes Profil aus. –