Extremadamente importante 43+ lista de preguntas y respuestas de entrevistas de TestNg

En este tutorial vamos a discutir los conjuntos exhaustivos de Preguntas y respuestas críticas de la entrevista de TestNg y distribuido según el nivel de dificultad, donde puede equiparse mejor rápidamente en TestNg y debería poder borrar cualquier Rondas de preguntas y respuestas de la entrevista de TestNg.

Estos conjuntos de preguntas de entrevista de Testng se distribuyen en los siguientes módulos o conjuntos:

TestNg Interview Preguntas y respuestas
TestNg Interview Preguntas y respuestas

Preguntas de la entrevista de TestNg - Básico

Preguntas de la entrevista de TestNg - Intermedio

Preguntas de la entrevista de TestNg - Avanzado

Preguntas y respuestas de la entrevista de Testng || Conjunto 1

¿Qué es TestNG?

TestNg básicamente representa "Probando la próxima generación”Es un marco de pruebas unitarias que controla el flujo y el orden de la automatización de pruebas y los scripts de automatización al proporcionar varias anotaciones con sus funcionalidades.

¿Cuáles son las ventajas de TestNg?

            R. A través de las diversas anotaciones de Testng, puede controlar el flujo y el orden de la automatización y la ejecución de la prueba con un mejor enfoque.

            B. Clases de prueba o métodos de secuencia de comandos de prueba La ejecución en paralelo se puede lograr con TestNg.

           C. TestNg se puede integrar fácilmente con diferentes herramientas de compilación como Maven, Gradle. Además, se puede integrar con herramientas CICD como Jenkins.

           D. TestNG proporciona detalles de la función de informes HTML y se integra fácilmente con otras plataformas de informes de pruebas como Allure, Extent Report con funciones de TestNG Listeners.

          E. Todas las pruebas pueden ser activadas por el archivo testng.xml donde puede mencionar la clase de prueba / prueba / nombre del paquete de prueba que se ejecutará.

          F. Las pruebas basadas en datos se pueden realizar con la anotación TestNg DataProvider. Además, las pruebas de parametrización también se pueden realizar a través de Testng.xml, por ejemplo, al realizar pruebas en varios navegadores, puede parametrizar los diferentes navegadores para diferentes pruebas. Esta característica ayuda a construir el marco basado en datos con TestNG.

         G. TestNg Proporciona una forma de incluir / excluir un conjunto de una prueba de tesngNg.xml con el atributo de inclusión y exclusión.

         H. Con TestNg, puede agrupar sus pruebas y la inyección de dependencia entre las pruebas.

         I. TestNg proporciona a muchos oyentes con los que puede lograr muchas cosas, como puede hacer informes personalizados (IReporter), integración con diferentes herramientas (ITestListener), Cambiar el comportamiento de la anotación de prueba TestNG en tiempo de ejecución con IAnnotationTransformer y muchos más.

        J. Puede omitir la prueba específica, priorizar su orden de prueba, crear una prueba con límite de tiempo con las anotaciones de TestNg Test.

        K. Puede utilizar Hard Assertion así como Soft Assertion con TestNg para escribir una declaración Assert.

        L. TestNg genera TestNG-failed.xml después de cada ejecución de prueba, por lo que puede utilizar el mismo TestNG-failed.xml generado para volver a ejecutar sus scripts de prueba fallidos.

       M. TestNg proporciona varias anotaciones de prueba como @BeforeMethod, @AfterMethod, @BeforeTest, @ AfterTest. @BeforeSuite,@AfterSuite.

       N. Puede ejecutar la prueba de excepción esperada con TestNg.

       O. Puede volver a ejecutar la prueba fallida con IretryAnalyzer de Testng 

Cómo desencadenar y ejecutar el script de prueba TestNg?

Puede ejecutar el script TestNg Test de varias formas: 

      A. Haga clic con el botón derecho en Test Class y "ejecutar como" y seleccione la opción "TestNg Test".

      B. Cree testng.xml y directamente en el archivo y ejecute el archivo xml.

      C. Si integra testNg.xml con la herramienta de compilación como Maven / Gradle, también puede ejecutar desde maven o Gradle.

      D. Si la herramienta de compilación como Maven / Gradle está integrada con CICD, entonces puede ejecutar desde CICD, es decir, desde Jenkins.

Indique las anotaciones de Testng que están disponibles.

Las anotaciones de Testng Test más utilizadas son:

@BeforeSuite

@DespuésSuite

@AntesTest

@Después de la prueba

@Antes de clase

@Después de clases

@BeforeMethod

@AfterMethod

@AntesGrupos

@AfterGroups

@Prueba

¿Mencionar la secuencia de ejecución de anotaciones de TestNg?

Desde el punto de vista de la ejecución de la prueba, aquí está la siguiente secuencia para todas las anotaciones de TestNg disponibles:

Anotaciones de condiciones previas:

@BeforeSuite

@AntesTest

@Antes de clase

@BeforeMethod

Prueba de anotaciones:

@Prueba

Anotaciones posteriores a la condición: 

@DespuésSuite

@Después de la prueba

@Después de clases

@AfterMethod

¿Cómo deshabilitar la ejecución de prueba para un script de prueba?

Puede usar el atributo habilitado es igual a falso en el atributo de anotación @Test como se menciona a continuación:

@Test(enabled = false)
public void logout(){
   System.out.println("Sample Test");
}

¿Cómo se pueden especificar oyentes en TestNG xml?

Puede usar el archivo xml Tesng para mencionar los oyentes que se usarán como parte de las ejecuciones del script de prueba, en el siguiente enfoque:

        

        

...

¿Qué es la prueba de tiempo de espera en TestNg?

En este caso, la "prueba de tiempo de espera" significa que, en caso de que el script de prueba tarde más del período de tiempo especificado en ejecutarse, entonces testng abortará la prueba y se marcará como una prueba fallida.

@Test(timeOut = 6000) // this time in mulliseconds
public void testShouldPass() throws InterruptedException {
   Thread.sleep(2000);
}

¿Cómo lograr la prueba de excepción esperada con TestNG?

Si un método de prueba arroja una excepción, que es la misma que la especificada como parte del atributo esperabaExcepciones de la anotación de prueba, entonces TestNg marcaría la prueba como aprobada.

@Test(expectedExceptions = ArithmeticException.class)
public void TestDivision() {
   int i = 1 / 0;
}

 El método de prueba anterior se aprobará ya que arroja la excepción esperada por TestNG.

¿Cuál es la diferencia entre la anotación @BeforeTest y # @ BeforeMethod?

@BeforeTest se ejecuta una vez antes de cada una de las pruebas etiqueta mencionado en el archivo testng.xml 

@BeforeMethod se ejecuta antes de todos y cada uno de los métodos de script de prueba.

¿Cuál es la ventaja de usar el archivo testng.xml?

Con el archivo testng.xml, puede controlar el flujo de ejecución con un solo conjunto de pruebas o varios conjuntos de pruebas en un solo archivo testng xml. Algunas de las características importantes son:

A. El archivo testng.xml nos permite excluir e incluir métodos de prueba y ejecución de grupos de prueba.

B. Puede pasar datos / parámetros de prueba a través de testng.xml.

C. Puede agregar dependencia entre los métodos de prueba y también un grupo de métodos de prueba

D. Puede priorizar los casos de prueba.

E. Se logra la ejecución de pruebas paralelas de casos de prueba.

F. Puede implementar diferentes oyentes de prueba y usarlos mencionándolos en testng.xml.

G. Si ejecuta su suite con testng.xml, entonces solo fallará la prueba para la siguiente iteración usando TestNG-failed.xml se genera después de cada ejecución.

H. Puede ejecutar grupos específicos de pruebas utilizando etiqueta de TestNG xml.

¿Cuántos tipos de dependencias puedes lograr usando TestNG?

Hay dos tipos de dependencias que podemos lograr con TestNG: 

A. DependsOnMethods: 

Al usar este atributo dependsOnMethods, está definiendo qué método de prueba dependerá de otros métodos de prueba. Por lo tanto, si el método dependiente falla o no se ejecuta, el método de prueba dependiente tampoco se ejecutará.

@Test
public void loginUserProfile() {
   System.out.println("Login user ");
}
@Test(dependsOnMethods = "loginUserProfile")
public void logOutPage_user() {
   System.out.println("Logout page for User");
}

 Aquí está el método de prueba logOutPage_user que se ejecutará después de la ejecución exitosa de la prueba loginUserProfile.

B. depende de los grupos: 

En este tipo de prueba de dependencia, nos permite colocar la inyección de dependencia para los métodos de prueba con un grupo de métodos de prueba.

El flujo de ejecución ocurre de tal manera, es decir, primero se activa y ejecuta el testGroup y luego se activa el método de prueba dependiente, y una vez que se completa con éxito la prueba de grupo, se ejecuta el método de prueba dependiente.

@Test(groups="AtestGroupName")
public void testcaseOne()
{
   System.out.println("testcaseOne in process");
}
@Test(groups="AtestGroupName")
public void testcaseTwo()
{
   System.out.println("testcaseTwo in process");
}
@Test(dependsOnGroups="AtestGroupName")
public void testcaseThree()
{
   System.out.println("testcaseThree in process");
}

Preguntas y respuestas de la entrevista de Testng || Conjunto 2

¿Qué se entiende por invocationCount en TestNG?

invocationCount es un atributo de anotación de prueba mediante el cual puede definir el número de iteraciones que se ejecutará el método de prueba en una sola ejecución. 

@Test(invocationCount = 2)
public void testOfInvCount() {
   System.out.println("Invocation count test in progress");
}

 La prueba anterior se ejecutará dos veces ya que invocationCount se menciona como 2.

¿Qué son los oyentes en TestNG?

en TestNg, los oyentes son básicamente una interfaz en Java que debe implementar en su clase. La clase implementada seguirá escuchando ciertos eventos y ejecutará el bloque de código específico asociado con ese evento.Aquí, cuando implementa la interfaz, finalmente implementa los métodos no implementados y esos bloques de código o los métodos se ejecutarán como y cuando un evento específico se activa. 

Con la ayuda de los oyentes de TestNG, podemos realizar muchas acciones en tiempo de ejecución escuchando un evento diferente desencadenado por la ejecución del script de prueba y su estado, o podemos hacer informes. Además, podemos cambiar la implementación de la anotación TestNg.

¿Mencionar las diferencias entre las anotaciones @Factory y @Dataprovider en TestNg?

@Dataprovider: cuando desee ejecutar la misma prueba, pero con diferentes conjuntos de datos en cada ejecución, puede usar la anotación del proveedor de datos, y esto puede lograr el enfoque de prueba basado en datos. Aquí, la ejecución del método de prueba ocurre utilizando la misma instancia de clase a la que pertenece el método de prueba.

@Factory: se ejecutarán todos los métodos de prueba presentes dentro de una clase de prueba utilizando instancias separadas y múltiples de la clase.

¿Cómo utilizar TestNG Reporter Class para la generación de registros?

Puede registrar los detalles y datos utilizando la clase Reporter, y estos registros serán capturados por el informe generado por TestNG

Reporter.log ("Mensaje de registro");

¿Cómo hacer el manejo de excepciones en TestNG?

Puede mencionar el tipo de excepción esperada en un atributo llamado excepciones esperadas con la anotación @test; en este caso, TestNg marcaría la prueba como aprobada.

@Test (excepciones esperadas = numberFormatException.class)

¿Cómo lograr la inyección de dependencia a través de TestNg XML?

TestNG nos permite inyectar dependencias entre diferentes grupos de pruebas a través del archivo XML TestNG. Mediante el cual podemos tener la dependencia de un grupo sobre otro.

¿Cuáles son los diversos enfoques de afirmación para TestNG?

Podemos usar dos tipos de afirmaciones con TestNg. 

Afirmaciones suaves

Afirmaciones duras 

Mencione algunas de las afirmaciones más utilizadas con TestNG 

Algunos de los métodos de afirmación más utilizados en TestNG:

  • asertEquals (booleano real, booleano esperado)
  • assertEqual (Cadena real, Cadena esperada)
  • assertEqual (Cadena de resultado real, Cadena de resultado esperado, Cadena de mensaje)
  • asertTrue (condición)
  • aseverarFalso (condición)
  • asertFalse (condición, mensaje)
  • asertTrue (condición, mensaje)

¿Qué entiendes por las afirmaciones en TestNG?

Se realiza una afirmación para validar los resultados reales de la prueba con respecto a los resultados esperados de la prueba. En TestNg, podemos usar la aserción dura de la aserción suave. 

Diferencia entre afirmación dura y afirmación suave en TestNg

Mientras trabaja con la afirmación dura, si en caso de que tengamos algún error en la condición de afirmación, los pasos de prueba posteriores no se ejecutarán y se cancelarán, y finalmente la prueba se marcará como un caso de prueba fallido. 

Mientras que, por otro lado, Soft Assert toma en consideración la validación de todos los puntos de aserción, incluso si hay fallas en alguna de las aserciones. Eso significa que la ejecución de la prueba no se cancela incluso si falla una afirmación.

Cómo escribir afirmaciones suaves en TestNg 

El siguiente fragmento de código da el enfoque de escribir la afirmación suave en TestNG

 @Test
   public void assertion() {
   SoftAssert softAssertion = new SoftAssert();
   //Assertion 1 
   softAssertion.assertEquals("exp", "act");
   //Assertion 2 
   softAssertion.assertEquals(123, 123);
   //Assertion 3 
   softAssertion.assertEquals("actual Value", "expected value");
   // At the end considering all the assertion values
   softAssertion.assertAll();
}

¿Cómo usar expresiones regulares en grupos TestNG?

Se puede usar una expresión regular en TestNG para ejecutar los grupos que tienen un patrón similar en su denominación. 

Por ejemplo, si desea ejecutar todos los grupos que comienzan con “testX” según el nombre, puede usar la expresión regular como testX. * En el archivo XML TestNG.

Preguntas y respuestas de la entrevista de Testng || Conjunto 3

¿Cómo se excluye a un grupo del ciclo de ejecución de la prueba?

Puede usar la etiqueta de exclusión para excluir un grupo de casos de prueba de la ejecución de la siguiente manera en el archivo Testng xml 

    

        

        

    

¿Cuáles son los tipos de informes generados en TestNG por defecto?

TestNG genera dos tipos de informes después de la ejecución, que son:

  • Informes que se pueden enviar por correo electrónico
  • Informes de índice

¿Mencione la diferencia entre el conjunto de pruebas TestNG y la prueba TestNG?

El conjunto de pruebas TestNG es la colección de clases de prueba y métodos de prueba que se pueden ejecutar simultáneamente y en paralelo desde el archivo XML TestNG. 

Por otro lado, el método de prueba TestNG es un solo archivo de caso de prueba o método de prueba.

¿Cuál es el uso del atributo threadPoolSize con la anotación @Test? 

A través del atributo threadPoolSize podemos definir un grupo de subprocesos con el tamaño específico mencionado por el número del método de prueba que se ejecutará a través de múltiples subprocesos disponibles.

El atributo se ignora si no se menciona invocationCount.

 @Test(threadPoolSize = 3) 
   public void testCaseOne(){
      System.out.println("testCaseOne in process");
   }

En el método de prueba anterior, testCaseOne se invocará desde los tres subprocesos diferentes.

¿Qué hacen los atributos alwaysRun?

Este atributo de anotación alwaysRun se utiliza siempre que se desee ejecutar el método de prueba, independientemente de los parámetros dependientes de los que depende el método de prueba, falla. Si lo establece en verdadero, debe establecer que el atributo sea verdadero.

¿Cuáles son los diferentes oyentes disponibles?

ITestListener

IReporter 

ISuiteListener

IAnnotationTransformer 

IAnnotationTransformer2

Enganchable 

IInvokedMethodListener 

IMethodInterceptor 

¿Cuál es el valor predeterminado para TestNG Priority?

La prioridad de TestNG tiene el valor predeterminado es cero.

¿Cómo volver a ejecutar las pruebas fallidas de TestNg utilizando el mecanismo de reintento automático?

TestNg proporciona una interfaz llamada IRetryAnalyzer oyente que puede implementar la interfaz, vuelva a ejecutar automáticamente sus scripts de prueba fallida mencionando la clase en el archivo testNg.XML, aquí está el siguiente código para implementar el mismo:

TestNg Auto Retry Falló las pruebas
Testng preguntas y respuestas de la entrevista - TestNg Retry Test Script

En el área anterior puede configurar el número de reintentos, conteos máximos y también puede mencionar en qué excepciones desea volver a ejecutar los scripts de prueba.

Método dos: cómo volver a ejecutar las pruebas fallidas de TestNg mediante el mecanismo de reintento automático

En el siguiente enfoque, puede construir 2 clases, es decir, una es Reintentar clase donde puede mantener la lógica de controlar el número de iteraciones en caso de fallas en las pruebas que implementarán la interfaz Testng IRetryAnalyzer.

Otra clase es básicamente la que implementará el otro oyente de interfaz IAnnotationTransformer e implementará el método transformar que interactúa internamente con la clase anterior (es decir Reintentar clase)

public class Retry implements IRetryAnalyzer {

    int retryCounter = 0;
    
    // The maximum number of failed execution 
    int autoRetryLimit = 2;

    @Override
    public boolean retry(ITestResult iTestResult) {
        if (retryCounter < autoRetryLimit) {
            retryCounter++;
            return true;
        }
        return false;
    }
}

public class CognitiveRetry implements IAnnotationTransformer {


    public void transform(ITestAnnotation annotation, Class testClass, Constructor testCons, Method tMethod){
        IRetryAnalyzer retryAnalyzer=annotation.getRetryAnalyzer();
        if(retryAnalyzer==null){
            annotation.setRetryAnalyzer(Retry.class);
        }
    }
}

y finalmente agregue el Clase CognitiveRetry en el oyente para el archivo testng.xml.

<listeners>
    <listener class-name= "com.lambdageeks.cognitiveRetryUtils.CognitiveRetry"/>
</listeners>

¿Cómo lograr la implementación de TestNG itestlistener?

ITestListener es una interfaz en TestNg que tiene múltiples métodos (no implementados ya que es una interfaz) que pueden ser implementados por una clase. Cada método representa funcionalidades o escenarios específicos, por lo tanto, dependiendo de su necesidad, puede implementar esos métodos.

Para un ejemplo onTestFailure es un método que puede implementar donde desea realizar cualquier operación mientras falla cualquier método de prueba, digamos que desea capturar la captura de pantalla en caso de fallas en el método de prueba, para que pueda escribir el método de toma de captura de pantalla dentro del onTestFailure , y como ITestListener es una interfaz, testNg seguirá escuchando los eventos (fallas de prueba) y siempre que haya fallas de prueba, se capturará su captura de pantalla.

Aquí está la implementación de la captura de pantalla cada vez que prueba el script encuentra fallas:

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.testng.ITestContext;
import org.testng.ITestListener;
import org.testng.ITestResult;

import java.io.File;
import java.io.IOException;
import java.util.logging.Logger;

public class CustomListerners implements ITestListener {

    WebDriver driver=null;
    String filePath = "D:\\LambdaGeeks\\SCREENSHOTS";
    @Override
    public void onTestFailure(ITestResult result) {
        String testMethodName=String.valueOf(result.getName()).trim();
        ITestContext testContext = result.getTestContext();
        WebDriver driver = (WebDriver)testContext.getAttribute("driver");
        captureTheScreenShot(testMethodName, driver);
    }

    public void captureTheScreenShot(String methodName, WebDriver driver) {
        File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        /*
        Each screenshots will get saved with along with the test Name to have better correlation
         */
        try {
            FileUtils.copyFile(scrFile, new File(filePath+methodName+".jpg"));

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public void onFinish(ITestContext context) {}

    public void onTestStart(ITestResult result) {   }

    public void onTestSuccess(ITestResult result) {   }

    public void onTestSkipped(ITestResult result) {   }

    public void onTestFailedButWithinSuccessPercentage(ITestResult result) {   }

    public void onStart(ITestContext context) {   }

}

Y también debe agregar esta clase en la etiqueta de escucha en el archivo testng.xml como lo habíamos hecho en la pregunta anterior.

¿Cómo implementar testng iAnnotationtransformer?

TestNg proporciona una interfaz denominada IAnnotationTransformer que proporciona un método llamado "transform" que puede implementar y que TestNG activará en tiempo de ejecución. Esta implementación se utiliza para modificar el comportamiento de anotación de prueba de la clase de prueba y los métodos de prueba.

En el segmento a continuación, veríamos cómo podríamos hacer eso

public class TestClassAnnotations {

    @Test(alwaysRun = true,dependsOnMethods = "testMethodB")
    public void testMethodA() {
        System.out.println("--- Customizing the runtime behavious with ITestAnnotation ---");
    }

    @Test
    public void testMethodB() {
        System.out.println("--- Second TestMethods ---");
        Assert.fail();
    }

}

De forma predeterminada, si ejecutamos el código anterior, solo se ejecutará un método, que es testMethodA y otro método testMethodB fallará porque estamos fallando intencionalmente al usar el método Assert.fail ().

Pero si cambiamos el Alwaysrun = verdadero anotación a falso mediante el uso de la IAnnotationTransformer entonces este método no se ejecutará, a continuación se muestra el fragmento de código sobre cómo implementar el IAnnotationTransformer y utilícelo en testing.xml para cambiar el comportamiento de la anotación TestNG

La implementación de CustomAnnotationTransformers va aquí:

public class CustomAnnotationTransformers implements IAnnotationTransformer {

    public boolean isTestRunning(ITestAnnotation iTestAnnotation) {
        if (iTestAnnotation.getAlwaysRun()) {
            return true;
        }
        return false;
    }


    public void transform(ITestAnnotation annotations, Class testClasses, Constructor testConstructors, Method testMethods) {

        if (isTestRunning(annotations)) {
            annotations.setEnabled(false);

        }

    }

}

Aquí está el oyente que necesitamos agregar en el archivo testing.xml

<listeners>
    <listener class-name= "com.lambdageeks.CustomAnnotationTransformers"/>
</listeners>

¿Cómo implementar testng iinvokedmethodlistener?

Si desea implementar una función en la que se ejecutará un método determinado antes y después de todos y cada uno de los métodos de prueba de TestNg, entonces la función testng podría implementar esa función. IInvokedMethodListener oyente.

 

Aquí está el fragmento de código para implementar las funciones:

package com.lambdageeks;

import org.testng.IInvokedMethod;
import org.testng.IInvokedMethodListener;
import org.testng.ITestResult;


public class CustomAnnotationTransformers implements IInvokedMethodListener {

    public void beforeInvocation(IInvokedMethod method, ITestResult testResult) {

        System.out.println(" ::: Before Method from IInvokedMethodListener is Triggered for the Test Method named as :  " + method.getTestMethod().getMethodName() + " ::: ");
    }

    public void afterInvocation(IInvokedMethod method, ITestResult testResult) {

        System.out.println(" :::: After Method from IInvokedMethodListener is Triggered for the Test Method named as :  " + method.getTestMethod().getMethodName() + " ::: ");

    }
}

Aquí está la clase de prueba para probar la función:

public class TestClassAnnotations {

    @Test(alwaysRun = true)
    public void testMethoddummy() {
        System.out.println("--- This is a test Method , testing the feature of IInvokedMethodListener Testng Listener  ---");

    }

}

Tienes que mencionar TestNG iinvokedmethodlistener en la etiqueta de escucha en el testng.xml como siempre

<listeners>
    <listener class-name="com.lambdageeks.CustomAnnotationTransformers"/>
</listeners>

El resultado de la ejecución se vería así:

::: Antes de que se active el método de IInvokedMethodListener para el método de prueba denominado: testMethoddummy :::

- Este es un método de prueba, probando la característica de IInvokedMethodListener Testng Listener -

 :::: Después de que se active el método de IInvokedMethodListener para el método de prueba denominado: testMethoddummy :::

¿Cómo implementar proveedores de datos en TestNG?

Podemos implementar el DataProvider usando TestNg en el siguiente enfoque:

public class DataProviderDemo {

    @DataProvider(name = "dpName")
    public Object[][] dataProvidersMethodName() {
        return new Object[][]{{"Lambda"}, {"Geeks"}};
    }

    @Test(dataProvider = "dpName")
    public void dataproviderDummyTestMethod(String dataValues) {
        System.out.println("The Data Params with data provider examples : : " + dataValues);
    }
}

Si no establecemos la prioridad del método de prueba, ¿en qué orden se ejecutan las pruebas en TestNG?

Las pruebas se ejecutan en el orden alfabético del TestmethodName.

 

Como en el siguiente fragmento de código:

public class SequenceTest {

    @Test()
    public void geeks() {
        System.out.println("Sequence Test , Method ran :geeks ");
    }

    @Test()
    public void lambda() {
        System.out.println("Sequence Test , Method ran : lambda ");
    }

    @Test()
    public void abc() {
        System.out.println("Sequence Test , Method ran :abc");
    }
}

La salida se vería así:

Prueba de secuencia, método ejecutado: abc

Prueba de secuencia, método ejecutado: geeks

Prueba de secuencia, método ejecutado: lambda

 

¿Cómo ejecutar sus scripts de prueba en paralelo?

Puede ejecutar sus scripts de prueba utilizando el archivo XML TestNg mencionando el paralelo = "métodos" número de subprocesos = "2 ″, aquí se ejecutarán 2 casos paralelos, si desea ejecutar más subprocesos en paralelo.

<suite name="DummyTest" parallel="methods" thread-count="2" >

<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
</suite>  

¿Cómo integrar TestNg con GRADLE build Tool?

Puede ejecutar Testng Suite en gradle de diferentes maneras:

Cómo ejecutar TestNg Groups usando Gradle: puede crear una tarea en el archivo build.gradle puede mencionar el useTestNG () y mencione los detalles a continuación mientras ejecuta los Grupos de prueba.

Preguntas y respuestas de la entrevista TestNg: TestNg con Gradle

Cómo ejecutar Testng Default listener con Gradle para generar informes usando la biblioteca TestNg

Preguntas y respuestas de la entrevista de TestNg: Testng con oyentes predeterminados de Gradle
Preguntas y respuestas de la entrevista de TestNg: Testng con oyentes predeterminados de Gradle

Si desea utilizar el oyente personalizado, puede mencionarlo en el siguiente enfoque:

Preguntas y respuestas de la entrevista de TestNG: oyentes personalizados de TestNG con Gradle
Preguntas y respuestas de la entrevista de TestNG: oyentes personalizados de TestNG con Gradle

¿Cómo ejecutar el archivo xml Testng Runner usando el símbolo del sistema?

Puede usar la ubicación descargada de TestNg y mencionar org.testng.TestNg.testNgRunner.xml para ejecutar el archivo xml del corredor desde el símbolo del sistema.

java -cp "/opt/testng-7.1.jar:bin" org.testng.TestNG testngRunner.xml

¿Cómo integrar TestNg XML con Maven?

Puede integrar TestNg con Maven con el uso del complemento llamado maven-surefire-plugin donde puede configurar para ejecutar el archivo testNgrunner.xml usando las configuraciones:

Preguntas y respuestas de la entrevista TestNg-TestNg-Maven-Integración Surefire

¿Cómo se puede especificar el parámetro TestNg Test usando TestNg y Maven?

Puede especificar el parámetro de prueba mediante el complemento Maven SureFire con el archivo TestNg.XML de la siguiente manera

TestNg Interview Questions and Answers-Test Parameter

conclusión: Con esto concluimos la lista de todos los críticos e importantes TestNg preguntas y respuestas de la entrevista , para obtener un mejor agarre en TestNg, puede pasar por el documentación exhaustiva sobre TestNg.

Para aprender más acerca de la tutorial exhaustivo de selenio que puede visitar aquí.

Sobre Debarghya

Yo mismo, Debarghya Roy, soy un ARQUITECTO de ingeniería que trabaja con una compañía de Fortune 5 y un colaborador de código abierto, con alrededor de 12 años de experiencia / conocimientos en varias tecnologías.
He trabajado con diversas tecnologías como Java, C #, Python, Groovy, UI Automation (Selenium), Mobile Automation (Appium), API / Backend Automation, Performance Engineering (JMeter, Locust), Security Automation (MobSF, OwAsp, Kali Linux , Astra, ZAP, etc.), RPA, automatización de ingeniería de procesos, automatización de mainframe, desarrollo de back-end con SpringBoot, Kafka, Redis, RabitMQ, ELK stack, GrayLog, Jenkins y también con experiencia en tecnologías de nube, DevOps, etc.
Vivo en Bangalore, India con mi esposa y tengo pasión por los blogs, la música, tocar la guitarra y mi Filosofía de vida es Educación para Todos, que dio origen a LambdaGeeks. Vamos a conectarnos a través de enlaces: https://www.linkedin.com/in/debarghya-roy/

Deja un comentario

Tu dirección de correo electrónico no será publicada.Los campos obligatorios están marcados *

Frikis Lambda