2017-07-26 2 views
7

-je utiliser des variables d'environnement angulaire configure API endpoints:Comment exécuter Protractor tests E2E en utilisant différentes variables d'environnement angulaire

.\src\environments: 
    environment.ts 
    environment.test.ts 
    environment.prod.ts 

Les fichiers environtment contiennent des paramètres tels que les suivants qui sont différents pour les serveurs dev locaux et CI:

export const environment = { 
    ... 
    apiUrl: "https://api.sample.com" 
}; 

Cela fonctionne très bien lorsque j'ai besoin de créer ou démarrer l'application. Je peux simplement spécifier le paramètre de l'environnement :

ng serve --environment=test 

... mais il est apparu qu'il est impossible to set a specific environment lors de l'exécution E2E Protractor tests. La commande suivante ignore simplement l'environnement (ce qui semble être attendu selon this comment). L'environnement par défaut est toujours utilisé:

ng e2e --environment=test // same as `ng e2e` 

Existe-t-il d'autres façons d'exécuter les tests dans un environnement spécifique?

+0

Avez-vous trouvé une solution pour cela? Si oui, s'il vous plaît partager .. –

+0

Non, malheureusement pas. Je finis par modifier l'environnement par défaut que j'utilise sur CI pour l'instant, mais ce n'est pas la solution que je cherchais. –

+0

Ce que j'ai fait c'est que j'ai créé le fichier 'config' sous le dossier' e2e', qui accepte le 'baseUrl' comme params. Je passe ce param si j'ai besoin de test dans la production env autre local env sera considéré. Mais besoin d'exécuter le test via un rapporteur global et non via ng e2e. Encore une fois pas une bonne solution, Pour moi son travail autour. –

Répondre

3

j'ai pu utiliser avec succès un environnement différent en ajoutant à la .angular-cli.json

"environments": { 
    "dev": "environments/environment.ts", 
    "test": "environments/environment.test.ts", 
    "prod": "environments/environment.prod.ts" 
    } 

puis appeler

ng e2e --environment test 
+1

Les configurations d'environnements que vous avez mentionnées existent déjà sous la section de l'application, mais je ne peux pas accéder aux variables d'environnement dans la spécification OU dans le fichier de configuration du rapporteur. Alors pourriez-vous dire s'il vous plaît comment avez-vous accédé aux variables d'environnement ?? –