Casos con DataDriver¶
DataDriver genera tests de Robot a partir de cada fila. El listener crea un HTML por test generado, con su propio nombre, requests y assertions.
Datos de entrada¶
Guarda distributors.csv junto al archivo .robot:
*** Test Cases ***,${number},${expected_type}
Distribuidor 1042,1042,AGENTE
Distribuidor 1087,1087,AGENTE
Suite¶
*** Settings ***
Library RequestsLibrary
Library RequestReporter
Library DataDriver file=distributors.csv dialect=excel
Test Template Verificar distribuidor
*** Variables ***
${BASE_URL} https://api.qa.example.test
*** Test Cases ***
Distribuidor ${number} ${number} ${expected_type}
*** Keywords ***
Verificar distribuidor
[Arguments] ${number} ${expected_type}
${response}= GET ${BASE_URL}/distribuidores/${number}
... expected_status=anything
${id}= Capture Response Consultar distribuidor ${response}
Assert ${id} Código HTTP
... Should Be Equal As Integers ${response.status_code} 200
VAR ${body} ${response.json()}
Assert ${id} Tipo de distribuidor
... Should Be Equal As Strings ${body}[tipoDistribuidor] ${expected_type}
Obtendrás Distribuidor_1042.html y Distribuidor_1087.html dentro de
results/cases. Cada uno puede adjuntarse por separado a Jira.
No necesitas pasar el nombre dos veces
DataDriver define el nombre del test y la librería lo obtiene de Robot. La fila o el identificador como metadata son opcionales.
Ejecución paralela
Para Pabot usa una carpeta de reportes distinta por worker. La escritura concurrente en una misma carpeta no está soportada.
Ejemplo completo con API local
[{"name": "English", "lang": "en", "link": "/robotframework-request-reporter/datadriver/", "fragments": {"casos-con-datadriver": "datadriver-cases", "datos-de-entrada": "input-data", "suite": "suite"}, "current": false}, {"name": "Espa\u00f1ol", "lang": "es", "link": "/robotframework-request-reporter/es/datadriver/", "fragments": {"casos-con-datadriver": "casos-con-datadriver", "datos-de-entrada": "datos-de-entrada", "suite": "suite"}, "current": true}]