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.
Tutorial: Utilice una prueba de confianza del conjunto de pruebas de confianza
AWS IoT GreengrassTesting Framework (GTF) y Greengrass Development Kit (GDK) ofrecen a los desarrolladores formas de ejecutar pruebas. end-to-end Puede completar este tutorial para inicializar un proyecto de GDK con un componente, inicializar un proyecto de GDK con un módulo de prueba y utilizar una end-to-end prueba de confianza del conjunto de pruebas de confianza. Una vez que hayas creado tu caso de prueba personalizado, podrás ejecutar la prueba.
Una prueba de confianza es una prueba genérica proporcionada por Greengrass que valida los comportamientos de los componentes fundamentales. Estas pruebas se pueden modificar o ampliar para adaptarlas a necesidades de componentes más específicas.
Para este tutorial utilizaremos un HelloWorld componente. Si está utilizando otro componente, sustituya el HelloWorld componente por el suyo.
En este tutorial, aprenderá a hacer lo siguiente:
-
Inicialice un proyecto de GDK con un componente.
-
Inicialice un proyecto de GDK con un módulo de prueba. end-to-end
-
Utilice una prueba del conjunto de pruebas de confianza.
-
Añada una etiqueta al nuevo caso de prueba.
-
Construye el JAR de prueba.
-
Ejecute la prueba .
Temas
- Requisitos previos
- Paso 1: inicializar un proyecto de GDK con un componente
- Paso 2: inicializar un proyecto de GDK con un end-to-end módulo de prueba
- Paso 3: Utilice una prueba del conjunto de pruebas de confianza
- Paso 4: Añadir una etiqueta al nuevo caso de prueba
- Paso 5: Construye el JAR de prueba
- Paso 6: Ejecuta la prueba
- Ejemplo: utilice una prueba de confianza
Requisitos previos
Necesitará lo siguiente para completar este tutorial:
-
GDK versión 1.6.0 o posterior
-
Java
-
Maven
-
Git
Paso 1: inicializar un proyecto de GDK con un componente
-
Inicialice una carpeta vacía con un proyecto de GDK. Descargue el
HelloWorld
componente implementado en Python ejecutando el siguiente comando.gdk component init -t HelloWorld -l python -n HelloWorld
Este comando crea un nuevo directorio con
HelloWorld
el nombre del directorio actual.
Paso 2: inicializar un proyecto de GDK con un end-to-end módulo de prueba
-
GDK le permite descargar la plantilla del módulo de pruebas que consta de una función y una implementación escalonada. Ejecute el siguiente comando para abrir el
HelloWorld
directorio e inicializar el proyecto GDK existente mediante un módulo de pruebas.cd HelloWorld gdk test-e2e init
Este comando crea un nuevo directorio con un nombre
gg-e2e-tests
dentro delHelloWorld
directorio. Este directorio de pruebas es un proyecto de Mavenque depende del JAR independiente de pruebas de Greengrass.
Paso 3: Utilice una prueba del conjunto de pruebas de confianza
La redacción de un caso de prueba de confianza consiste en utilizar el archivo de funciones proporcionado y, si es necesario, modificar los escenarios. Para ver un ejemplo del uso de una prueba de confianza, consulteEjemplo: crea un caso de prueba personalizado. Siga los siguientes pasos para utilizar una prueba de confianza:
-
Utilice el archivo de funciones proporcionado.
Navegue hasta la
gg-e2e-tests/src/main/resources/greengrass/features
carpeta del directorio actual. Abra elconfidenceTest.feature
archivo de muestra para utilizar la prueba de confianza.
Paso 4: Añadir una etiqueta al nuevo caso de prueba
-
Puede asignar etiquetas a las características y escenarios para organizar el proceso de prueba. Puede usar etiquetas para categorizar los subconjuntos de escenarios y también seleccionar los ganchos de forma condicional para que se ejecuten. Las entidades y los escenarios pueden tener varias etiquetas separadas por un espacio.
En este ejemplo, estamos usando el
HelloWorld
componente.Cada escenario está etiquetado con
@ConfidenceTest
. Cambie o añada etiquetas si desea ejecutar solo un subconjunto del conjunto de pruebas. Cada escenario de prueba se describe en la parte superior de cada prueba de confianza. El escenario consiste en una serie de pasos que ayudan a comprender las interacciones y los resultados esperados de cada caso de prueba. Puede ampliar estas pruebas añadiendo sus propios pasos o modificando los existentes.@ConfidenceTest Scenario: As a Developer, I can deploy GDK_COMPONENT_NAME to my device and see it is working as expected ....
Paso 5: Construye el JAR de prueba
-
Construya el componente. Debe compilar el componente antes de crear el módulo de prueba.
gdk component build
-
Cree el módulo de prueba mediante el siguiente comando. Este comando generará el JAR de prueba en la
greengrass-build
carpeta.gdk test-e2e build
Paso 6: Ejecuta la prueba
Cuando realizas una prueba de confianza, el GTF automatiza el ciclo de vida de la prueba y gestiona los recursos que se crearon durante la prueba. Primero aprovisiona un dispositivo bajo prueba (DUT) como una AWS IoT cosa e instala el software principal de Greengrass en él. A continuación, creará un nuevo componente denominado HelloWorld
con la receta especificada en esa ruta. A continuación, el HelloWorld
componente se despliega en el dispositivo principal mediante un despliegue de Greengrass Thing. A continuación, se verificará si el despliegue se ha realizado correctamente. El estado de la implementación cambiará a COMPLETED
dentro de 3 minutos si la implementación se realiza correctamente.
-
Vaya al
gdk-config.json
archivo del directorio del proyecto para seleccionar las pruebas con laConfidenceTest
etiqueta o la etiqueta que haya especificado en el paso 4. Actualice latest-e2e
clave con el siguiente comando."test-e2e":{ "gtf_options" : { "tags":"ConfidenceTest" } }
-
Antes de ejecutar las pruebas, debe proporcionar AWS las credenciales al dispositivo anfitrión. El GTF usa estas credenciales para administrar los AWS recursos durante el proceso de prueba. Asegúrese de que el rol que proporcione tenga permisos para automatizar las operaciones necesarias que se incluyen en la prueba.
Ejecute los siguientes comandos para proporcionar las AWS credenciales.
-
-
Ejecute la prueba con el siguiente comando.
gdk test-e2e run
Este comando descarga la última versión del núcleo de Greengrass de la
greengrass-build
carpeta y ejecuta pruebas con ella. Este comando también se dirige solo a los escenarios con laConfidenceTest
etiqueta y genera un informe para esos escenarios. Verá que los AWS recursos que se crearon durante esta prueba se descartan al final de la prueba.
Ejemplo: utilice una prueba de confianza
El módulo de pruebas descargado en el proyecto GDK consta de un archivo de funciones proporcionado.
En el siguiente ejemplo, utilizamos un archivo de funciones para probar la función de despliegue de elementos del software Greengrass. Probamos parcialmente la funcionalidad de esta función con un escenario que realiza el despliegue de un componente a través de GreengrassNube de AWS. Se trata de una serie de pasos que nos ayudan a entender las interacciones y los resultados esperados de este caso de uso.
-
Utilice el archivo de funciones proporcionado.
Navegue hasta la
gg-e2e-tests/src/main/resources/greengrass/features
carpeta del directorio actual. Encontrará un ejemploconfidenceTest.feature
parecido al siguiente.Feature: Confidence Test Suite Background: Given my device is registered as a Thing And my device is running Greengrass @ConfidenceTest Scenario: As a Developer, I can deploy GDK_COMPONENT_NAME to my device and see it is working as expected When I create a Greengrass deployment with components | GDK_COMPONENT_NAME | GDK_COMPONENT_RECIPE_FILE | | aws.greengrass.Cli | LATEST | And I deploy the Greengrass deployment configuration Then the Greengrass deployment is COMPLETED on the device after 180 seconds # Update component state accordingly. Possible states: {RUNNING, FINISHED, BROKEN, STOPPING} And I verify the GDK_COMPONENT_NAME component is
RUNNING
using the greengrass-cliCada escenario de prueba se describe en la parte superior de cada prueba de confianza. El escenario consiste en una serie de pasos que ayudan a comprender las interacciones y los resultados esperados de cada caso de prueba. Puede ampliar estas pruebas añadiendo sus propios pasos o modificando los existentes. Cada uno de los escenarios incluye comentarios que le ayudan a realizar estos ajustes.