Sto utilizzando Behat e Mink per testare diversi siti. Due di loro usano Single Sign On, quindi uno dei miei test include login in un sito, andare al secondo sito e controllare ho effettuato l'accessoCome testare con behat due siti nello stesso test con ambienti diversi (quindi URL diversi)
Questo è acomplished con questo codice Behat:.
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"
questo funziona, ma il problema è questa linea:
And I go to "http://server.developer1.workstations/"
Abbiamo diversi ambienti (sviluppatori locali, dev, stagging) con URL diversi, quindi non posso scrivere un test che funziona in ogni macchina. Il primo server va bene perché posso avere diverse impostazioni base_url per ogni macchina, ma non riesco a trovare un modo per impostare il secondo server come impostazioni generali invece di riscrivere ogni file di funzionalità cambiando l'URL del secondo server.
C'è un modo per dichiarare variabili, costanti o qualcosa che può essere memorizzato in un file che sarà diverso per ogni macchina?
Invece di creare una miriade di 'slave1_url',' slave2_url' ecc., Creare il parametro 'slave_url' e sovraccaricarlo usando i profili behat. Quindi, esegui un profilo diverso su ambienti mirati. –