es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La API de TestRail devolvió un código de error HTTP 400. Campo: suite_id es un campo obligatorio – JAVA.

Hola, tengo algún problema con la integración de TestNG con los conjuntos de pruebas de TestRail. Estoy trabajando con Java y cada vez que obtengo un error que dice que el ID del conjunto de pruebas es obligatorio. También he agregado el ID del conjunto de pruebas, sin embargo, sigo recibiendo el mismo mensaje de error. El mensaje de error y el código están escritos a continuación:

int PROJECT_ID = 1;
Long SUITE_ID = (long) 1286;
APIClient client = null;

@BeforeSuite
public void createSuite(ITestContext ctx) throws IOException, APIException {
    client = new APIClient("https://testrail.net");
    client.setUser("test@test.com");
    client.setPassword("########");
    Map<string, object=""> data = new HashMap<>();
    data.put("include_all", true);
    data.put("name", "Test Run " + System.currentTimeMillis());
    JSONObject c = null;

    c = (JSONObject) client.sendPost("add_run/" + PROJECT_ID, data);
    long suite_id = SUITE_ID; 
    ctx.setAttribute("suiteID", suite_id);
}

@BeforeMethod
public void beforeTest(ITestContext ctx, Method method) throws NoSuchMethodException {
    Method m = TestNGProject.class.getMethod(method.getName());

    if (m.isAnnotationPresent(TestRail.class)) {
        TestRail ta = m.getAnnotation(TestRail.class);
        System.out.println(ta.id());
        ctx.setAttribute("caseId", ta.id());
    }
}

@AfterMethod
public void afterTest(ITestResult result, ITestContext ctx) throws IOException, APIException {
    Map<string, object=""> data = new HashMap<>();
    if (result.isSuccess()) {
        data.put("status_id", 1);
    } else {
        data.put("status_id", 5);
        data.put("comment", result.getThrowable().toString());
    }

    String caseId = (String) ctx.getAttribute("caseId");
    Long suiteId = (Long) ctx.getAttribute("suiteId");
    client.sendPost("add_result_for_case/" + suiteId + "/" + caseId, data);
}

Mensaje de error:

[RemoteTestNG] detected TestNG version 7.4.0
FAILED CONFIGURATION: @BeforeSuite createSuite(org.testng.TestRunner@1f2586d6)
com.uitesting.testRail.APIException: TestRail API returned HTTP 400("Field :suite_id is a required field.")
</string,></string,>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el mensaje de error indica que el campo “suite_id” es requerido. Esto podría significar que la integración de TestNG con TestRail no está configurada correctamente, o que el valor asignado a “SUITE_ID” es inválido o incorrecto. También es posible que haya un problema con la conexión o autenticación de la API de TestRail.

    Una cosa a verificar es que tanto el ID del proyecto como el ID de la suite en TestRail sean correctos, así como también que la clave de la API de TestRail sea válida. También podría ser útil verificar si la versión de la API de TestRail que se está utilizando es compatible con la integración TestNG-TestRail.

    Para una solución de problemas adicional, podría ser necesario depurar el código y confirmar que las respuestas y solicitudes de la API de TestRail se manejan correctamente. También podría ser útil consultar la documentación de TestNG y TestRail o buscar ayuda en sus respectivas comunidades de soporte.

Comments are closed.