2017-10-05 3 views
0

Je teste mon application non-angulaire avec le rapporteur. J'ai 40 suites de tests, y compris le test de connexion. Ces toutes les suites de tests sont dans des fichiers différents. Je veux démarrer chaque 10-suite de tests dans une nouvelle fenêtre de navigateur chrome. Je veux à chaque suite de tests dans une nouvelle instance de chrome dans Protractor

export.config :{ 
    spec:[ 
    'testSuite1.js', 
    'testSuite2.js', 
    'testSuite3.js', 
    'testSuite4.js', 
    ... 
    ... 
    'testSuite38.js', 
    'testSuite39.js', 
    'testSuite40.js', 
    ] 
} 
Comme lorsque je cours, protractor conf.js dans commandLine, Il devrait commencer 4 fenêtres ouvertes avec les 40 suites de tests à partir de ceux-ci.

10 sur chaque instance.

J'ai eu une idée AS-

capabilities: { 
    browserName: 'chrome', 
    shardTestFiles: 'true', 
    maxInstances: 4 
    }, 

mais pas en mesure de le faire.

MISE À JOUR J'ai essayé comme décrit Ernst mais non Succès-

Started Selenium server: 127.0.0.1:4444 
Running "protractor:start" (protractor) 
task [17:04:00] W/launcher - You have specified both capabilities and multiCapabilities. This will result in capabilities being ignored [17:04:00] I/launcher - Running 0 instances of WebDriver 
E:\Work\test> 
+0

voulez-vous réaliser l'exécution parallèle? –

+0

[Sudharsan] (https://stackoverflow.com/users/6405587/sudharsan-selvaraj), j'ai mis à jour ma question, d'abord voir cela, et oui je veux réaliser une exécution parallèle. –

Répondre

1

Je pense que quelque chose comme cela pourrait fonctionner pour vous.

Vous pouvez ajouter des fonctionnalités spécifiques à spec ou en exclure certaines. Et comme vous pouvez « répéter les mêmes capacités » au sein multiCapabilities, je vous suggère quelque chose comme ceci:

multiCapabilities: [{ 
    browserName: 'chrome', 
    shardTestFiles: 'true', 
    maxInstances: 4 
    spec: ['spec_1.js', ... , 'spec_10.js'] //evtl. specify a path with them and do ../path/*.js 
},{ 
    browserName: 'chrome', 
    shardTestFiles: 'true', 
    maxInstances: 4 
    spec: ['spec_11.js', ... , 'spec_20.js'] //evtl. specify a path with them and do ../path/*.js 
}, { 
    //same for the other test suites. 
}], 

Vérifiez la capabilities partie de la official lib/config.ts pour plus de détails.

Comme je n'ai aucune expérience avec ces options moi-même, vous devrez essayer un peu. Faites-moi savoir, si cela vous a permis de trouver une solution.

+0

Aussi cela pourrait être utile pour réduire la duplication - https://github.com/angular/protractor/blob/master/lib/config.ts#L338 – Xotabu4

+0

Il n'a pas fonctionné, j'ai mis à jour comme dans ma question –

+0

Le message d'avertissement est assez clair: utilisez 'multiCapabilities' ou' Capabilities', mais pas les deux. Par conséquent, commentez votre section 'Capabilities'. En outre, je ne vois aucune erreur ou autre information supplémentaire dans votre question, ce qui expliquerait pourquoi vos tests n'ont pas commencé (s'ils ne l'ont pas fait). –