Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configura el orquestador IDT de pruebas
A partir de la IDT versión 4.5.2, IDT incluye un nuevo componente de orquestador de pruebas. El orquestador de pruebas es un IDT componente que controla el flujo de ejecución del conjunto de pruebas y genera el informe de la prueba una vez IDT finalizada la ejecución de todas las pruebas. El orquestador de pruebas determina la selección de las pruebas y el orden en que se ejecutan en función de las reglas definidas por el usuario.
Si tu conjunto de pruebas no incluye un orquestador de pruebas definido por el usuario, IDT generará uno para ti.
El orquestador de pruebas predeterminado realiza las siguientes funciones:
-
Ofrece a los ejecutores de pruebas la posibilidad de seleccionar y ejecutar grupos de pruebas específicos, en lugar de todo el conjunto de pruebas.
-
Si no se seleccionan grupos de pruebas específicos, ejecuta todos los grupos de pruebas del conjunto de pruebas con asignación al azar.
-
Genera informes e imprime un resumen de la consola que muestra los resultados de las pruebas de cada grupo y caso de prueba.
El orquestador de pruebas reemplaza a la máquina de estados. IDT Le recomendamos encarecidamente que utilice el orquestador de pruebas para desarrollar sus conjuntos de pruebas en lugar de la máquina de IDT estados. El orquestador de pruebas ofrece las siguientes características mejoradas:
-
Utiliza un formato declarativo en comparación con el formato imperativo que utiliza la máquina de IDT estados. Esto le permite especificar qué pruebas desea ejecutar y cuándo quiere ejecutarlas.
-
Administra la gestión de grupos específicos, la generación de informes, la gestión de errores y el seguimiento de los resultados para que no tenga que gestionar estas acciones manualmente.
-
Utiliza el YAML formato, que admite comentarios de forma predeterminada.
-
Requiere un 80 por ciento menos de espacio en disco que el orquestador de pruebas para definir el mismo flujo de trabajo.
-
Añade una validación previa a las pruebas para comprobar que la definición del flujo de trabajo no contiene dependencias circulares IDs o de pruebas incorrectas.
Formato del orquestador de pruebas
Puede utilizar la siguiente plantilla para configurar su propio archivo
: custom-test-suite-folder
/suite/test_orchestrator.yaml
Aliases:
string
:context-expression
ConditionalTests: - Condition:context-expression
Tests: -test-descriptor
Order: - -group-descriptor
-group-descriptor
Features: - Name:feature-name
Value:support-description
Condition:context-expression
Tests: -test-descriptor
OneOfTests: -test-descriptor
IsRequired:boolean
Todos los campos que contienen valores son obligatorios tal y como se describe aquí:
Aliases
-
Opcional. Cadenas definidas por el usuario que se asignan a expresiones de contexto. Los alias le permiten generar nombres descriptivos para identificar las expresiones de contexto en la configuración de su orquestador de pruebas. Esto resulta especialmente útil si está creando expresiones contextuales complejas o expresiones que utiliza en varios lugares.
Puede usar expresiones de contexto para almacenar consultas de contexto que le permitan acceder a los datos de otras IDT configuraciones. Para obtener más información, consulte Acceso a los datos del contexto.
Ejemplo
Aliases: FizzChosen: "'{{$pool.features[?(@.name == 'Fizz')].value[0]}}' == 'yes'" BuzzChosen: "'{{$pool.features[?(@.name == 'Buzz')].value[0]}}' == 'yes'" FizzBuzzChosen: "'{{$aliases.FizzChosen}}' && '{{$aliases.BuzzChosen}}'"
ConditionalTests
-
Opcional. Una lista de condiciones y los casos de prueba correspondientes que se ejecutan cuando se cumple cada condición. Cada condición puede tener varios casos de prueba; sin embargo, puede asignar un caso de prueba determinado a una sola condición.
De forma predeterminada, IDT ejecuta cualquier caso de prueba que no esté asignado a una condición de esta lista. Si no especifica esta sección, IDT ejecuta todos los grupos de pruebas del conjunto de pruebas.
Cada elemento de la lista
ConditionalTests
incluye los siguientes parámetros:Condition
-
Una expresión de contexto que se evalúa como un valor booleano. Si el valor evaluado es verdadero, IDT ejecuta los casos de prueba que se especifican en el
Tests
parámetro. Tests
-
La lista de descriptores de prueba.
Cada descriptor de prueba utiliza el ID del grupo de pruebas y uno o más casos de prueba IDs para identificar las pruebas individuales que se van a ejecutar en un grupo de pruebas específico. El descriptor de la prueba utiliza el siguiente formato:
GroupId:
group-id
CaseIds: [test-id
,test-id
] # optional
Ejemplo
En el siguiente ejemplo se utilizan expresiones de contexto genéricas que puede definir como
Aliases
.ConditionalTests: - Condition: "{{$aliases.Condition1}}" Tests: - GroupId: A - GroupId: B - Condition: "{{$aliases.Condition2}}" Tests: - GroupId: D - Condition: "{{$aliases.Condition1}} || {{$aliases.Condition2}}" Tests: - GroupId: C
En función de las condiciones definidas, IDT selecciona los grupos de prueba de la siguiente manera:
-
Si
Condition1
es cierto, IDT ejecuta las pruebas en los grupos de prueba A, B y C. -
Si
Condition2
es verdadero, IDT ejecuta las pruebas en los grupos de prueba C y D.
Order
-
Opcional. El orden en que se deben ejecutar las pruebas. El orden de las pruebas se especifica a nivel de grupo de pruebas. Si no especifica esta sección, IDT ejecuta todos los grupos de prueba aplicables en orden aleatorio. El valor de
Order
es una lista de listas de descriptores de grupos. Cualquier grupo de pruebas que no incluya en la listaOrder
se puede ejecutar en paralelo con cualquier otro grupo de pruebas de la lista.Cada lista de descriptores de grupo contiene uno o más descriptores de grupo e identifica el orden en el que se deben ejecutar los grupos que se especifican en cada descriptor. Puede utilizar los siguientes formatos para definir descriptores de grupos individuales:
-
: el ID de grupo de un grupo de pruebas existente.group-id
-
[
: lista de grupos de pruebas que se pueden ejecutar en cualquier orden relativo.group-id
,group-id
] -
"*"
: comodín. Esto equivale a la lista de todos los grupos de pruebas que aún no están especificados en la lista de descriptores de grupos actual.
El valor de
Order
también debe cumplir los siguientes requisitos:-
El grupo de prueba IDs que especifique en un descriptor de grupo debe existir en su conjunto de pruebas.
-
Cada lista de descriptores de grupos debe incluir al menos un grupo de pruebas.
-
Cada lista de descriptores de grupo debe contener un grupo único. IDs No puede repetir el ID de un grupo de pruebas dentro de los descriptores de grupos individuales.
-
Una lista de descriptores de grupo puede tener como máximo un descriptor de grupo comodín. El descriptor de grupo comodín debe ser el primer o el último elemento de la lista.
Ejemplo
En el caso de un conjunto de pruebas que contiene los grupos de pruebas A, B, C, D y E, en la siguiente lista de ejemplos, se muestran diferentes formas de especificar que se IDT debe ejecutar primero el grupo de pruebas A, después el grupo de pruebas B y, por último, los grupos de pruebas C, D y E en cualquier orden.
-
Order: - - A - B - [C, D, E]
-
Order: - - A - B - "*"
-
Order: - - A - B - - B - C - - B - D - - B - E
-
Features
-
Opcional. La lista de funciones del producto que IDT desea añadir al
awsiotdevicetester_report.xml
archivo. Si no especificas esta sección, IDT no añadirá ninguna característica del producto al informe.Una característica del producto es información definida por el usuario sobre los criterios específicos que puede cumplir un dispositivo. Por ejemplo, la función MQTT del producto puede indicar que el dispositivo publica MQTT los mensajes correctamente. En
awsiotdevicetester_report.xml
, las características del producto se establecen comosupported
,not-supported
o como un valor personalizado, en función de si se han superado las pruebas especificadas.Cada elemento de la lista
Features
incluye los siguientes parámetros:Name
-
El nombre de la característica.
Value
-
Opcional. El valor personalizado que desea utilizar en el informe en lugar de
supported
. Si no se especifica este valor, Based IDT establece el valor de la función ensupported
o ennot-supported
función de los resultados de las pruebas. Si prueba la misma entidad con condiciones diferentes, puede utilizar un valor personalizado para cada instancia de esa entidad de laFeatures
lista y IDT concatenar los valores de la entidad según las condiciones admitidas. Para obtener más información, consulte Condition
-
Una expresión de contexto que se evalúa como un valor booleano. Si el valor evaluado es verdadero, IDT agrega la función al informe de prueba cuando termine de ejecutar el conjunto de pruebas. Si el valor evaluado es falso, la prueba no se incluye en el informe.
Tests
-
Opcional. La lista de descriptores de prueba. Para que la característica sea compatible, se deben superar todas las pruebas especificadas en esta lista.
Cada descriptor de prueba de esta lista utiliza el ID del grupo de pruebas y uno o más casos de prueba IDs para identificar las pruebas individuales que se van a ejecutar en un grupo de pruebas específico. El descriptor de la prueba utiliza el siguiente formato:
GroupId:
group-id
CaseIds: [test-id
,test-id
] # optionalDebe especificar
Tests
oOneOfTests
para cada característica de la listaFeatures
. OneOfTests
-
Opcional. La lista de descriptores de prueba. Para que la característica sea compatible, se debe superar al menos una de las pruebas especificadas en esta lista.
Cada descriptor de prueba de esta lista utiliza el ID del grupo de pruebas y uno o más casos de prueba IDs para identificar las pruebas individuales que se van a ejecutar en un grupo de pruebas específico. El descriptor de la prueba utiliza el siguiente formato:
GroupId:
group-id
CaseIds: [test-id
,test-id
] # optionalDebe especificar
Tests
oOneOfTests
para cada característica de la listaFeatures
. IsRequired
-
El valor booleano que define si la característica es obligatoria en el informe de prueba. El valor predeterminado es
false
.
Contexto del orquestador de pruebas
El contexto del orquestador de pruebas es un JSON documento de solo lectura que contiene datos que están disponibles para el orquestador de pruebas durante la ejecución. Solo se puede acceder al contexto del orquestador de pruebas desde el orquestador de pruebas y contiene información que determina el flujo de prueba. Por ejemplo, puede usar la información configurada por los ejecutores de la prueba en el archivo userdata.json
para determinar si es necesario ejecutar una prueba específica.
El contexto del orquestador de pruebas utiliza el siguiente formato:
{ "pool": {
<device-json-pool-element>
}, "userData": {<userdata-json-content>
}, "config": {<config-json-content>
} }
pool
-
Información sobre el grupo de dispositivos seleccionado para la ejecución de la prueba. Para un grupo de dispositivos seleccionados, esta información se recupera del elemento correspondiente de la matriz del grupo de dispositivos de alto nivel definido en el archivo
device.json
. userData
-
Información en el archivo
userdata.json
. config
-
Información en el archivo
config.json
.
Puede consultar el contexto mediante la notación. JSONPath La sintaxis de las JSONPath consultas en las definiciones de estado es{{
. Al acceder a los datos desde el contexto del orquestador de pruebas, asegúrese de que cada valor se evalúe como una cadena, un número o un booleano.query
}}
Para obtener más información sobre el uso de la JSONPath notación para acceder a los datos del contexto, consulteUsa el IDT contexto.