20 most popular testng interview questions
Questions et réponses les plus fréquemment posées lors de l'entretien TestNG avec des exemples pour vous aider à vous préparer:
Une liste des questions et réponses d'entretien les plus populaires et les plus fréquemment posées sur TestNG est expliquée ici dans cet article.
Des exemples simples sont ajoutés aux endroits concernés pour faciliter votre compréhension du concept. Je suis sûr que ces questions vous aideraient à réussir n'importe quelle interview TestNG.
Questions fréquentes d'entretiens chez TestNG
Q # 1) Qu'est-ce que TestNG?
Répondre: TestNG est le framework créé pour exécuter des tests unitaires dans le programme java par les développeurs.
TestNG est également utilisé par les testeurs de logiciels pour exécuter efficacement les scripts de test automatisés créés dans Selenium Webdriver. Sa forme complète est le cadre «Testing New Generation».
comment afficher un fichier swf
Il est inspiré de «JUnit» qui est un autre framework pour les tests unitaires des programmes Java. En plus de toutes les fonctionnalités de JUnit, TestNG a ses nouvelles fonctionnalités qui le rendent plus puissant.
Q # 2) Comment allez-vous installer TestNG dans Eclipse?
Répondre:
Suivez les étapes ci-dessous pour installer TestNG sur Eclipse:
- Allez dans Eclipse -> Cliquez sur «Aide» -> Cliquez sur «Installer un nouveau logiciel».
- Cliquez sur le bouton «Ajouter», entrez le nom (de préférence TestNG) dans la zone de texte «Suivant». Entrez dans la zone de texte «Emplacement» et cliquez sur le bouton d'action «OK».
- Cochez la case TestNG et cliquez sur le bouton d'action «Suivant». L'installation démarrera et l'Eclipse redémarrera après l'installation.
- Cliquez avec le bouton droit sur le projet dans Eclipse -> Sélectionnez le chemin de construction -> Configurer le chemin de construction.
- Sélectionnez l'onglet bibliothèque -> Cliquez sur le bouton Ajouter une bibliothèque -> Sélectionnez TestNG-> Cliquez sur Suivant -> Cliquez sur Terminer et Appliquer et fermez.
Q # 3) Comment exécuter le script TestNG?
Répondre:
Pour exécuter le script TestNG:
Faites un clic droit sur la classe dans Eclipse, cliquez sur «Exécuter en tant que» et sélectionnez «TestNG test».
OU
Cliquez directement sur le bouton Exécuter dans la barre d'outils de l'Eclipse.
Q # 4) Quelles sont les annotations utilisées dans TestNG?
Répondre: Il existe trois sections d'annotation dans TestNG:
(i) Annotations préalables: Cessont les annotations TestNG exécutées avant le test.
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod sont les annotations de précondition.
(ii) Annotation de test: C'est l'annotation qui n'est mentionnée qu'avant le cas de test (avant la méthode écrite pour exécuter le cas de test)
@Test est l'annotation de test
(iii) Annotation de postcondition: Ce sont les annotations qui sont exécutées après le scénario de test. (Une fois la méthode écrite pour exécuter le scénario de test)
@AfterSuite, @AfterClass, @AfterTest, @AfterMethod sont les annotations de postcondition
Q # 5) Quelle est la séquence d'exécution des annotations dans TestNG?
Répondre: La séquence d'exécution des annotations est la suivante:
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
Q # 6) Quels sont les avantages de TestNG?
Répondre: Les avantages de TestNG sont les suivants:
- C'est un framework open-source, donc il est facile à configurer.
- En utilisant TestNG, nous pouvons créer systématiquement les cas de test.
- Il donne de nombreuses annotations, ce qui facilite la création du scénario de test.
- En utilisant TestNG, les priorités des tests et la séquence d'exécution peuvent être définies.
- Le regroupement est possible en utilisant TestNG.
- Il génère des rapports HTML (Selenium Webdriver ne peut pas générer les rapports de test seul, il aide SW à y parvenir).
- Le paramétrage des données est possible avec TestNG.
- En plus de toutes les fonctionnalités de JUnit, TestNG a ses fonctionnalités, ce qui le rend plus puissant.
Q # 7) Comment définir les priorités dans TestNG?
Répondre: Il y a toujours plus d'un test ou méthode dans la classe. Si nous ne hiérarchisons pas ces tests ou méthodes, les méthodes sont sélectionnées par ordre alphabétique et exécutées lors de l'exécution.
Si nous voulons exécuter les tests dans la séquence souhaitée, nous devons définir la priorité avec l'annotation @Test.
Cela peut être fait comme suit:
@Test (priorité = 1), @Test (priorité = 2)
Prenons l'exemple suivant:
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
Dans l'exemple ci-dessus, clickelement () sera exécuté en premier car la priorité est définie sur 1.
Et, getText () sera exécuté après clickelement () car sa priorité est définie sur 2.
Q # 8) Comment partager le rapport de projet en utilisant TestNG?
Répondre: Il existe plusieurs façons de procéder:
(je) Après l'exécution de la classe TestNG, il y a un onglet appelé «Résultat de la classe en cours d'exécution» qui est généré à côté de la console.
Nous pouvons copier ceci et le partager.
(ii) Après l'exécution de la classe TestNG,
- Faites un clic droit sur le nom du projet et actualisez
- Cliquez sur le dossier «Test-output»
- Faites un clic droit sur le fichier «index.html» et sélectionnez les propriétés
- Copiez le lien à côté de 'Emplacement'
Nous pouvons partager ce lien pour voir le rapport de test HTML de base qui est généré par TestNG.
C'est le fichier qui est généré automatiquement sur votre machine après l'exécution de la classe à l'aide de TestNG.
Q # 9) Comment définirez-vous le regroupement dans TestNG?
Répondre: Nous pouvons définir le regroupement dans TestNG à l'aide de l'attribut groups comme indiqué ci-dessous:
@Test (groupes = 'titre')
Q # 10) Qu'est-ce qu'une dépendance à TestNG?
Répondre: Il existe certaines méthodes dont dépendent de nombreuses méthodes.
Par exemple, Si nous voulons tester une application et si la page de connexion de l'application ne fonctionne pas, nous ne pourrons pas tester le reste des scénarios.
Donc, LoginTest est la méthode dont dépendent de nombreux tests.
Par conséquent, nous écrirons comme suit:
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
Le code ci-dessus montre que la méthode homePageLaunched () dépend entièrement de la méthode LoginTest ().
Si LoginTest () est passé, alors seulement la méthode homePageLaunched () est exécutée
Q # 11) Qu'est-ce que InvocationCount dans TestNG?
Répondre: Si nous voulons exécuter un cas de test «n» plusieurs fois, nous pouvons utiliser l'attribut invocationCount comme indiqué dans l'exemple ci-dessous.
Exemple:
@Test(invocationCount=8) Public void print() { }
Dans l'exemple ci-dessus, la méthode print () sera exécutée 8 fois.
Q # 12) Qu'est-ce que timeOut dans TestNG?
Répondre: Si une méthode du script prend beaucoup de temps à s'exécuter, nous pouvons mettre fin à cette méthode en utilisant «timeout» dans TestNG.
@Test (délai d'expiration = 5000)
Dans ce cas, la méthode se terminera dans 5000 ms (5 secondes) et le cas de test est marqué comme «Échec».
Q # 13) Comment gérer les exceptions dans TestNG?
Répondre: S'il existe des méthodes dont nous attendons des exceptions, nous pouvons mentionner l'exception dans l'annotation @Test afin que le cas de test n'échoue pas.
Exemple: Si une méthode doit avoir une exception «numberFormatException», le scénario de test échouera à cause de cette exception si aucun bloc try-catch n'est spécifié.
Mais nous pouvons le faire dans TestNG en utilisant l'attribut «expectedException» comme suit.
@Test (expectedException = numberFormatException.class)
Ensuite, le scénario de test s'exécutera sans échouer.
Q # 14) Quelles sont les assertions courantes de TestNG?
Répondre: Les affirmations courantes de TestNG incluent:
(je) Assert.assetEquals (String actual, String attendu);
- Il accepte deux chaînes.
- Si les deux chaînes sont égales, le scénario de test s'exécute avec succès, sinon le scénario de test échoue.
(ii) Assert.assertEquals (chaîne réelle, chaîne attendue, message chaîne)
- Il accepte deux chaînes.
- Si les deux chaînes sont égales, le scénario de test s'exécute avec succès, sinon le scénario de test échoue.
- Le message est imprimé si le scénario de test échoue.
(iii) Assert.assertEquals (booléen réel, booléen attendu)
- Il accepte deux valeurs booléennes.
- Si les deux valeurs booléennes sont égales, le scénario de test s'exécute avec succès, sinon le scénario de test échoue.
(iv) Assert.assertTrue ()
- Il accepte une valeur booléenne.
- L'assertion réussit si la condition est True, sinon une erreur d'assertion est affichée.
(v) Assert.assertFalse ()
- Il accepte une valeur booléenne.
- L'assertion réussit si la condition est False, sinon une erreur d'assertion est affichée.
(nous) Assert.assertTrue (, message)
méthode en cascade du cycle de vie du développement logiciel
- Il accepte une valeur booléenne.
- L'assertion réussit si la condition est True, sinon une erreur d'assertion est affichée avec le message mentionné.
(viens-tu) Assert.assertFalse (, message)
- Il accepte une valeur booléenne.
- L'assertion réussit si la condition est False, sinon une erreur d'assertion est affichée avec le message mentionné.
Q # 15) Comment désactiver un test dans TestNG?
Répondre:
Pour désactiver un test dans TestNG, nous devons utiliser l'attribut «enabled» comme suit:
@Test (enabled = 'false')
Q # 16) Quels sont les types d'assertions dans TestNG?
Répondre: Pour valider les résultats (réussite / échec), nous devons utiliser l'assertion.
Il existe deux types d'assertions dans TestNG:
(i) Affirmation ferme:
Hard Assert est l'assertion normale utilisée pour effectuer des validations dans la classe TestNG.
Nous devons utiliser la classe Assert pour les assertions fermes comme suit:
Assert.assertEquals (valeur réelle, valeur attendue);
Si l'assertion matérielle échoue, aucun code n'est exécuté après l'instruction assert.
(ii) Assertion souple:
Si nous voulons continuer l'exécution du test même après l'échec de l'instruction assert, nous devons utiliser l'assertion souple.
Pour créer une affirmation douce, nous devons créer un objet d'une classe «softAssert» comme suit:
softAssert sassert = nouveau softAssert ();
sassert.assertAll ();
Donc maintenant, si le cas de test échoue, l'exécution n'est pas terminée lorsque nous utilisons l'assertion souple.
Q # 17) Comment passer le paramètre dans le cas de test via le fichier testng.xml?
Répondre: Si nous avons une classe dans laquelle une méthode de connexion est définie, nous pouvons transmettre les paramètres de connexion à cette méthode de connexion à partir du fichier testing.xml
Nous devrons utiliser l'annotation «@parameters» comme suit:
@Parameters({'user_name','password'}) @Test public void loginapp() { driverget(“appname”); driver.findElement(By.id(“login”)).sendkeys(user_name); driver.findElement(By.id(“password”)).sendkeys(password); }
Maintenant, allez dans le fichier testng.xml et entrez les paramètres comme suit:
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
Q # 18) Quel est le besoin de créer un fichier testng.xml?
Répondre: Lorsque nous testons un projet à l'aide de Selenium Webdriver, il contient de nombreuses classes. Nous ne pouvons pas choisir ces classes une par une et les mettre pour l'automatisation. Nous devons donc créer une suite pour que toutes les classes s'exécutent dans une seule suite de tests.
Nous pouvons y parvenir en créant un fichier testing.xml.
Q # 19) Comment créer un fichier XML dans TestNG?
Répondre: Allez dans le dossier src -> cliquez sur fichier -> entrez le nom du fichier (principalement écrit testing.xml)
Ensuite, cliquez sur Terminer.
Nous avons un fichier XML vierge. Ici, nous devons mentionner le nom du projet et les classes à exécuter ainsi que le nom du package comme indiqué ci-dessous.
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
Pour exécuter ce fichier, nous devons aller sur testng.xml dans l'explorateur de packages, cliquez avec le bouton droit de la souris et exécutez en tant que -> Suite TestNG
Q # 20) Comment lancer une exception SKIP dans TestNG?
Répondre: Si nous voulons ignorer un test en utilisant testing, nous devons utiliser l'exception SKIP dans TestNG.
Il s'écrit comme suit:
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
Nous vous souhaitons le meilleur pour votre entretien !!
lecture recommandée
- Questions et réponses d'entrevue
- Questions d'entrevue Spock avec réponses (les plus populaires)
- Top 20+ Questions et réponses d'entrevue .NET
- Questions et réponses d'entrevue de test ETL
- Top 20 des questions et réponses d'entretien les plus importantes pour les tests d'API
- Top 30+ Questions et réponses populaires d'entrevue de concombre
- Top 50 des questions et réponses d'entretiens CCNA les plus populaires
- Top 40 des questions et réponses d'entrevue J2EE les plus populaires à lire