Habilidades necesarias para el desarrollo de pruebas: el uso del método de monitoreo TestNG

Necesario para las pruebas de automatización de la interfaz ~ Para obtener más conocimientos y habilidades de prueba, así como experiencia cara a cara, consulte la cuenta oficial [Memorándum de desarrollo de prueba]

1. Escucha la llamada del método    

    Cuando TestNG llama a un método de caso de prueba (anotado con @Test) o de configuración (anotado con @Before o @After), se puede notificar al oyente IInvokedMethodListener, y la llamada del método de escucha se puede realizar a través de la siguiente interfaz:

public interface IInvokedMethodListener extends ITestNGListener {
   
     void beforeInvocation(IInvokedMethod method, ITestResult testResult);  void afterInvocation(IInvokedMethod method, ITestResult testResult);}

    Declararlo para ser utilizado por el oyente como se describe en la sección sobre oyentes de TestNG.

2. Reescribir el método de prueba

    TestNG le permite anular y, cuando sea posible, omitir llamadas a métodos de prueba. Por ejemplo, cuando se necesita probar un método con un administrador de seguridad específico. Esto se puede lograr proporcionando un oyente que implemente IHookable. El siguiente es un ejemplo de una implementación de JAAS:

public class MyHook implements IHookable {
   
     public void run(final IHookCallBack icb, ITestResult testResult) {
   
       // Preferably initialized in a @Configuration method    mySubject = authenticateWithJAAs();        Subject.doAs(mySubject, new PrivilegedExceptionAction() {
   
         public Object run() {
   
           icb.callback(testResult);      }    };  }}

3. Suite de actualización y casos de prueba

     fondo

    A veces, puede que solo sea necesario cambiar la suite o las etiquetas de prueba en el archivo xml de la suite en tiempo de ejecución, sin cambiar el contenido del archivo de la suite.

    TestNG permite cambiar la suite o las etiquetas de prueba en el archivo xml de la suite en tiempo de ejecución a través de oyentes. Esto se puede lograr proporcionando un oyente que implemente IAlterSuiteListener.

    El siguiente ejemplo muestra cómo cambia el nombre de una suite en tiempo de ejecución:

public class AlterSuiteNameListener implements IAlterSuiteListener {
   
        @Override    public void alter(List<XmlSuite> suites) {
   
           XmlSuite suite = suites.get(0);        suite.setName(getClass().getSimpleName());    }}

    Los oyentes solo se pueden agregar de una de estas dos maneras:

  • A través de la etiqueta <oyentes> en el archivo xml de la suite.

  • a través del cargador de servicios

    Nota: No se puede agregar usando la anotación @Listeners.

     Bienvenido a prestar atención a mi cuenta pública de WeChat [Test Memo], y ver más habilidades y conocimientos de prueba. Aprendamos y comuniquemonos juntos~

Guess you like

Origin blog.csdn.net/hashsabr/article/details/115338352