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: Crear una canalización que pruebe la aplicación para iOS con AWS Device Farm
Puede usar AWS CodePipeline para configurar fácilmente un flujo de integración continua en el que su aplicación se prueba cada vez que cambia el bucket de código fuente. En este tutorial se muestra cómo crear y configurar una canalización para probar su aplicación iOS compilada desde un bucket de S3. La canalización detecta la llegada de un cambio guardado a través de Eventos de Amazon CloudWatch y, a continuación, utiliza Device Farm para probar la aplicación compilada.
importante
Como parte de la creación de una canalización, CodePipeline utilizará un bucket de artefactos de S3 proporcionado por el cliente para los artefactos. (Es diferente del bucket que se usa para una acción de origen de S3). Si el bucket de artefactos de S3 se encuentra en una cuenta diferente a la cuenta de su canalización, asegúrese de que el bucket de artefactos de S3 pertenezca a Cuentas de AWS que sean seguras y fiables.
importante
Muchas de las acciones que agrega a su canalización en este procedimiento implican recursos de AWS que debe crear antes de crear la canalización. Los recursos de AWSpara las acciones de origen siempre deben crearse en la misma región de AWS en la que se creó la canalización. Por ejemplo, si crea la canalización en la región Este de EE. UU. (Ohio), el repositorio de CodeCommit debe estar en la región Este de EE. UU. (Ohio).
Puede añadir acciones entre regiones al crear su canalización. Los recursos de AWS para las acciones entre regiones deben estar en la misma región de AWS en la que planea ejecutar la acción. Para obtener más información, consulte Añadir una acción interregional en CodePipeline.
Puede probarlo con la aplicación iOS de muestra o usar la suya.
nota
Antes de empezar
-
Inicie sesión en la consola de AWS Device Farm y elija Create a new project (Crear un nuevo proyecto).
-
Elija el proyecto. En el navegador, copie la URL de su nuevo proyecto. La dirección URL contiene el ID del proyecto.
-
Copie y conserve este ID de proyecto. Lo usará al crear la canalización en CodePipeline.
Aquí mostramos una URL de ejemplo para un proyecto. Para extraer el ID del proyecto, copie el valor detrás de
projects/. En este ejemplo, el ID del proyecto eseec4905f-98f8-40aa-9afc-4c1cfexample.https://<region-URL>/devicefarm/home?region=us-west-2#/projects/eec4905f-98f8-40aa-9afc-4c1cfexample/runs
Cómo configurar CodePipeline para usar las pruebas de Device Farm (ejemplo de Amazon S3)
-
Cree o utilice un bucket de S3 con el control de versiones habilitado. Puede seguir las instrucciones de Paso 1: creación de un bucket de origen de S3 para la aplicación para crear un bucket de S3.
-
En la consola de Amazon S3 para su bucket, elija Cargar y siga las instrucciones para cargar el archivo .zip.
La aplicación compilada de muestra debe estar empaquetada en un archivo .zip.
-
Para crear la canalización y añadir una etapa de código fuente, haga lo siguiente:
Inicie sesión en la Consola de administración de AWS y abra la consola de CodePipeline en https://console.aws.amazon.com/codepipeline/
. -
En la página Bienvenido, Introducción o Canalizaciones, elija Crear canalización.
-
En la página Paso 1: elección de la opción de creación, en Opciones de creación, seleccione la opción Crear una canalización personalizada. Elija Siguiente.
-
En la página Paso 2: elegir la configuración de la canalización, en Nombre de la canalización, escriba el nombre de la canalización.
-
CodePipeline proporciona canalizaciones de tipo V1 y V2, que difieren en características y precio. El tipo V2 es el único tipo que puede elegir en la consola. Para obtener más información, consulte Tipos de canalización. Para obtener más información acerca de los precios de CodePipeline, consulte Precios
. -
En Service role (Rol de servicio), deje la opción New service role (Nuevo rol de servicio) seleccionada y no haga ningún cambio en Role name (Nombre de rol). También puede usar un rol de servicio que haya creado anteriormente.
nota
Si utiliza un rol de servicio de CodePipeline creado antes de julio de 2018, debe añadir permisos para Device Farm. Para ello, abra la consola de IAM, busque el rol y, a continuación, añada los siguientes permisos a la política del rol. Para obtener más información, consulte Agregar permisos al rol de servicio de CodePipeline.
{ "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "*" } -
En Advanced settings (Configuración avanzada), deje los valores predeterminados y elija Next (Siguiente).
-
En la página Paso 3: agregar la etapa de origen, en Proveedor de origen, elija Amazon S3.
-
En Ubicación de Amazon S3, escriba el bucket, como
my-storage-buckety la clave de objeto, comos3-ios-test-1.zippara su archivo .zip. -
Elija Siguiente.
-
En Paso 4: agregación de la etapa de compilación, cree una etapa de compilación de marcador de posición para su canalización. De este modo puede crear la canalización en el asistente. Después de usar el asistente para crear su canalización de dos etapas, no se necesita más esta etapa de compilación de marcador de posición. Una vez completada la canalización, se elimina esta segunda etapa y se añade la nueva etapa de prueba en el paso 5.
-
En Build provider (Proveedor de compilación), elija Add Jenkins (Añadir Jenkins). Esta selección de compilación es un marcador de posición. No se utiliza.
-
En Provider name (Nombre del proveedor), escriba un nombre. El nombre es un marcador de posición. No se utiliza.
-
En Server URL (URL del servidor), escriba el texto. El texto es un marcador de posición. No se utiliza.
-
En Project name (Nombre del proyecto), escriba un nombre. El nombre es un marcador de posición. No se utiliza.
-
Elija Siguiente.
-
En Paso 5: agregación de la etapa de prueba, elija Omitir la etapa de prueba y, a continuación, acepte el mensaje de advertencia eligiendo Omitir una vez más.
Elija Siguiente.
-
En la página Paso 6: agregar la etapa de implementación, elija Omitir la etapa de implementación y, a continuación, acepte el mensaje de advertencia eligiendo Omitir una vez más.
-
En el Paso 7: revisión, elija Crear la canalización. Debe ver un diagrama que muestra las etapas de código fuente y de compilación.
-
-
Añada una acción de prueba de Device Farm a su canalización del siguiente modo:
-
En la parte superior derecha, elija Edit (Editar).
-
Elija Edit stage (Editar etapa). Elija Eliminar. Esto elimina la etapa de marcador de posición ahora que ya no la necesita para la creación de canalizaciones.
-
En la parte inferior del diagrama, seleccione + Add stage (Añadir etapa).
-
En Stage name (Nombre de la etapa), escriba un nombre para esta, por ejemplo, Test, y, a continuación, elija Add stage (Añadir etapa).
-
Elija + Add action group (Añadir grupo de acciones).
-
En Action name (Nombre de acción), escriba un nombre, por ejemplo DeviceFarmTest.
-
En Proveedor de la acción, elija AWS Device Farm. En el campo Region (Región) conserve el valor predeterminado de la región de la canalización.
-
En Input artifacts (Artefactos de entrada), elija el artefacto de entrada que coincida con el artefacto de salida de la etapa anterior a la de prueba, como
SourceArtifact.En la consola de AWS CodePipeline, puede encontrar el nombre del artefacto de salida de cada etapa si pasa el ratón sobre el icono de información en el diagrama de canalizaciones. Si la canalización prueba la aplicación directamente desde la etapa Source (Código fuente), elija SourceArtifact. Si la canalización incluye una etapa Build (Compilación), elija BuildArtifact.
-
En ProjectId, elija el ID del proyecto de Device Farm. Siga los pasos que se indican al principio de este tutorial para recuperar el ID del proyecto.
-
En DevicePoolArn, escriba el ARN del grupo de dispositivos. Para obtener los ARN del grupo de dispositivos disponibles para el proyecto, incluido el ARN de los principales dispositivos, utilice la CLI de AWS para introducir el siguiente comando:
aws devicefarm list-device-pools --arn arn:aws:devicefarm:us-west-2:account_ID:project:project_ID -
En AppType, escriba iOS.
A continuación, se muestra una lista de valores válidos para AppType:
-
iOS
-
Android
-
Web
-
-
En App (Aplicación), escriba la ruta del paquete de la aplicación compilado. La ruta es relativa a la raíz del artefacto de entrada de la etapa de prueba. Típicamente, esta ruta es similar a
ios-test.ipa. -
In Tipo de prueba, escriba el tipo de prueba y, en Prueba, escriba la ruta del archivo de definición de prueba. La ruta es relativa a la raíz del artefacto de entrada de la prueba.
Si utiliza una de las pruebas de Device Farm integradas, escriba el tipo de prueba que ha configurado en el proyecto de Device Farm, por ejemplo BUILTIN_FUZZ. En FuzzEventCount, escriba un tiempo en milisegundos, como, por ejemplo, 6000. En FuzzEventThrottle, escriba un tiempo en milisegundos, como, por ejemplo, 50.
Si no utiliza una de las pruebas de Device Farm integradas, escriba el tipo de prueba y, en Prueba, escriba la ruta del archivo de definición de prueba. La ruta es relativa a la raíz del artefacto de entrada de la prueba.
A continuación, se muestra una lista de valores válidos para TestType:
-
APPIUM_JAVA_JUNIT
-
APPIUM_JAVA_TESTNG
-
APPIUM_NODE
-
APPIUM_RUBY
-
APPIUM_PYTHON
-
APPIUM_WEB_JAVA_JUNIT
-
APPIUM_WEB_JAVA_TESTNG
-
APPIUM_WEB_NODE
-
APPIUM_WEB_RUBY
-
APPIUM_WEB_PYTHON
-
BUILTIN_FUZZ
-
INSTRUMENTATION
-
XCTEST
-
XCTEST_UI
nota
No se admiten los nodos de entorno personalizados.
-
-
En los campos restantes, proporcione la configuración que sea adecuada para su prueba y tipo de aplicación.
-
(Opcional) En Advanced (Avanzado), proporcione información acerca de la configuración en la ejecución de prueba.
-
Seleccione Save.
-
En la etapa que está editando, elija Done (Listo). En el panel de AWS CodePipeline, elija Save (Guardar) y, a continuación, elija Save (Guardar) cuando aparezca el mensaje de advertencia.
-
Para enviar los cambios y comenzar una ejecución de la canalización, elija Release change (Publicar modificación) y, a continuación, Release (Publicar).
-