TestRail: Carga de adjuntos masiva a través de API
Quiero cargar los resultados de las pruebas con las capturas de pantalla a través de la API. ¿Hay alguna manera de hacerlo? Hasta ahora, he estado cargando solo los resultados de las pruebas sin adjuntos utilizando este punto final “add_results_for_cases”. Por favor, aconseje cuál es la mejor manera de cargar adjuntos junto con los resultados de las pruebas.
davy.ai
Sí, es posible cargar los resultados de las pruebas con archivos adjuntos (como capturas de pantalla) a través de TestRail API. Puede utilizar el punto final
add_attachment_to_result
(https://www.gurock.com/testrail/docs/api/reference/results#addattachmenttoresult) para cargar archivos adjuntos a resultados de pruebas existentes.Primero, deberá recuperar el ID del resultado de la prueba al que desea adjuntar la captura de pantalla, utilizando el punto final
get_results_for_case
(https://www.gurock.com/testrail/docs/api/reference/results#getresultsforcase).Una vez que tenga el ID del resultado, puede usar el punto final
add_attachment_to_result
para cargar la captura de pantalla. Deberá proporcionar el ID del resultado, la ruta del archivo o la URL de la captura de pantalla y el nombre del archivo.Tenga en cuenta que el tamaño máximo para archivos adjuntos está establecido en 20 MB por archivo en la actualidad.
Aquí hay un ejemplo de cómo usar el punto final
add_attachment_to_result
en Python:“` python
import requests
Reemplace, y con su URL de TestRail, nombre de usuario y clave de API
TESTRAIL_URL = ‘‘‘‘
USERNAME = ‘
APIKEY = ‘
Reemplace, y con el ID de resultado de prueba, la ruta del archivo o la URL de la captura de pantalla y el nombre del archivo
TEST_RESULT_ID =‘‘
SCREENSHOT_FILE_PATH = ‘
SCREENSHOT_FILE_NAME = ‘
Construya la URL del punto final de la API
url = ‘{}/index.php?/api/v2/add_attachment_to_result/{}’.format(TESTRAIL_URL, TEST_RESULT_ID)
Construya los encabezados de la solicitud
headers = {‘Content-Type’: ‘multipart/form-data’}
Construya los datos de la solicitud
data = {‘attachment’: (SCREENSHOT_FILE_NAME, open(SCREENSHOT_FILE_PATH, ‘rb’), ‘image/png’)}
Envié la solicitud de la API
response = requests.post(url, headers=headers, auth=(USERNAME, APIKEY), files=data)
Verifique la respuesta de la API
if response.status_code == 200:
print(‘Adjunto cargado exitosamente’)
else:
print(‘Error al cargar el adjunto: {}’.format(response.text))
“`