J'ai ci-dessous des fichiers de fonctionnalités (fichiers de fonctionnalités distincts) dans src/test/resources/feature/et j'aimerais les exécuter en parallèle. Comme: Un fichier de fonctionnalité doit être exécuté en chrome et un autre doit être exécuté dans Firefox, comme indiqué par le nom @Tags.
Feature: Refund item
@chrome
Scenario: Jeff returns a faulty microwave
Given Jeff has bought a microwave for $100
And he has a receipt
When he returns the microwave
Then Jeff should be refunded $100
Feature: Refund Money
@firefox
Scenario: Jeff returns the money
Given Jeff has bought a microwave for $100
And he has a receipt
When he returns the microwave
Then Jeff should be refunded $100
Quelqu'un peut-il m'aider à atteindre cet objectif? J'utilise la version 1.2.2 de concombre-Java et AbstractTestNGCucumberTests en tant que coureur. Dites-moi également comment créer un Test Runner de manière dynamique en utilisant des fichiers de fonctions et les faire fonctionner en parallèle.
Si vous vous attendez à pouvoir exécuter plusieurs fonctionnalités en parallèle, vous pouvez alors procéder comme suit:
parallel=true
sur la méthode annotée @DataProvider
.Puisque dataprovider-thread-count
par défaut de TestNG est 10
et que vous avez maintenant demandé à TestNG d'exécuter features
en parallèle, vous devriez commencer à voir vos fichiers de fonctionnalités s'exécuter en parallèle.
Mais je comprends que la création de rapports sur les concombres n’est pas intrinsèquement sécuritaire, de sorte que vos rapports peuvent paraître tronqués.
Le concombre ne prend pas en charge l'exécution parallèle prête à l'emploi. J'ai essayé, mais ce n'est pas amical.
Pour tirer le meilleur parti de TestNG, vous pouvez utiliser le framework d'extension tiers de Testng QAF . Il prend en charge plusieurs syntaxes bdd , y compris gherkin utilisant GherkinFactory . Lorsque vous utilisez BDD avec QAF, vous pouvez tirer parti de chaque fonctionnalité de TestNG, y compris les fournisseurs de données, la configuration de l’exécution en parallèle de différentes manières (groupes/tests/méthodes) et les écouteurs TestNG.
QAF considère chaque scénario comme un test TestNG et le schéma de scénario comme un test piloté par les données TestNG. Comme qaf fournit une gestion des pilotes et des ressources intégrée, vous n'avez pas besoin d'écrire une seule ligne de code pour la gestion des pilotes ou des ressources. Tout ce que vous avez à faire est de créer le fichier de configuration XML TestNG selon vos besoins, soit d'exécuter des méthodes parallèles (scénarios), des groupes ou des tests xml sur un ou plusieurs navigateurs.
Il permet différentes combinaisons de configuration possibles . Ci-dessous se trouve le xml configuration pour répondre à cette question qui exécutera des scénarios dans deux navigateurs et en parallèle. Vous pouvez également configurer le nombre de threads pour chaque navigateur en tant que configuration xml standard de TestNG.
<suite name="AUT Test Automation" verbose="0" parallel="tests">
<test name="Test-on-chrome">
<parameter name="scenario.file.loc" value="resources/features" />
<parameter name="driver.name" value="chromeDriver" />
<classes>
<class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
</classes>
</test>
<test name="Test-on-FF">
<parameter name="scenario.file.loc" value="resources/features" />
<parameter name="driver.name" value="firefoxDriver" />
<classes>
<class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
</classes>
</test>
</suite>
De plus, BDDTestFactory2
prend en charge la syntaxe dérivée de QAF BDD, Jbehave et gherkin. Il supporte les méta-données de qaf bdd sous forme de balises et d’exemples de gherkin. Vous pouvez tirer parti de fournisseurs de données intégrés pour fournir des données de test au format XML/JSON/CSV/Excel/DB à l'aide de métadonnées dans BDD.