- Primeros pasos
- Instalación y configuración
- Proyectos de automatización
- Acerca de la publicación de proyectos de automatización
- Diseñar automatizaciones
- Gestionar paquetes de actividades
- Configuración de los Ajustes del Proyecto de Actividades
- Firma de paquetes
- Control
- Importar entidades
- Experiencia de diseño moderna
- Vincular un proyecto a una idea en Automation Hub
- Usar Data Manager
- Dependencias
- Tipos de flujos de trabajo
- Comparación de archivos
- Mejores prácticas de automatización
- Integración del control de código fuente
- Depuración
- La herramienta de diagnóstico
- Analizador de flujo de trabajo
- Acerca del analizador de flujo de trabajo
- ST-NMG-001: convención sobre nombres de variables
- ST-NMG-002: convención de nombres de argumentos
- ST-NMG-004: duplicación de nombres de visualización
- ST-NMG-005: anulación de variables
- ST-NMG-006: argumentos de anulación de variables
- ST-NMG-008: longitud variable excedida
- ST-NMG-009: variables de datos prefijados
- ST-NMG-011: argumentos de prefijo Datatable
- ST-NMG-012: valores predeterminados de los argumentos
- ST-NMG-016: longitud del argumento excedida
- ST-DBP-002: recuento de Argumentos elevado
- ST-DBP-003: bloque de Catch vacío
- ST-DBP-007: múltiples capas de diagramas de flujo
- ST-DBP-020: propiedades de salida no definidas
- ST-DBP-021: tiempo de espera codificado
- ST-DBP-023: flujo de trabajo vacío
- ST-DBP-024: comprobación de actividad de persistencia
- ST-DBP-025: requisito previo para la serialización de variables
- ST-DBP-026: retraso en el uso de la actividad
- ST-DBP-027: mejor práctica de persistencia
- ST-DBP-028: requisito de serialización de argumentos
- ST-USG-005: argumentos de actividad codificados
- ST-USG-009: variables no utilizadas
- ST-USG-010: dependencias sin utilizar
- ST-USG-014: restricciones de los paquetes
- ST-USG-020: mensajes de registro mínimos
- ST-USG-024: guardado sin usar para más adelante
- ST-USG-025: uso incorrecto de los valores guardados
- ST-USG-026: restricciones de actividad
- ST-USG-027: paquetes necesarios
- ST-USG-028: Restringir la invocación de plantillas de archivo
- ST-USG-032 - Etiquetas obligatorias
- ST-USG-034 - URL Automation Hub
- Variables
- Argumentos
- Espacios de nombres importados
- Automatizaciones codificadas
- Introducción
- Registrar servicios personalizados
- Contextos Antes y Después
- Automatización atendida basada en desencadenadores
- Flujo de control
- Repo. de objetos
- Registro
- La herramienta ScreenScrapeJavaSupport
- Pruebas de Studio
- Extensiones
- Acerca de las extensiones
- Herramienta SetupExtensions
- UiPathRemoteRuntime.exe no se está ejecutando en la sesión remota
- UiPath Remote Runtime impide que la sesión de Citrix pueda cerrarse
- UiPath Remote Runtime provoca una fuga de memoria
- Las versiones del paquete UiPath.UIAutomation.Activities y UiPath Remote Runtime no coinciden
- La extensión de UiPath necesaria no está instalada en la máquina remota
- Configuración de la resolución de la pantalla
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Chrome se elimina automáticamente
- Es posible que la extensión se haya dañado
- Comprueba si la extensión para Chrome está instalada y habilitada
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Habilitar el acceso a las URL de archivos y el modo de incógnito
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Chrome
- Extensión de Chrome en Mac
- Políticas de grupo
- No se puede comunicar con el navegador
- La extensión de Edge se elimina automáticamente
- Es posible que la extensión se haya dañado
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensiones para Edge
- Extensión para VMware Horizon
- Complemento SAP Solution Manager
- Add-in de Excel
- Solución de problemas
- Acerca de la resolución de problemas
- Compatibilidad y limitaciones de Microsoft App-V
- Solución de problemas de Internet Explorer x64
- Problemas de Microsoft Office
- Identificación de elementos de la interfaz de usuario en PDF con opciones de accesibilidad
- Reparar Soporte Active Accessibility
- Validation of large Windows-legacy projects takes longer than expected
Guía del usuario de Studio
Este tutorial muestra cómo crear un caso de prueba codificado (applyForLoan.cs) para verificar si la tasa del préstamo calculada por la aplicación de UiBank coincide con tu propio cálculo. El caso de prueba hace referencia a un archivo de origen codificado (LoanApplication.cs), que contiene una clase con los métodos get y set utilizados para generar datos de prueba.
Requisitos previos
- UiAutomation.Activities 23.10 o posterior.
- Testing.Activities 23.10 o posterior.
- System.Activities 23.10 o posterior.
- UiBank.
Crea un archivo de código fuente
-
Crea una clase llamada
LoanApplication. -
Crea un objeto público para cada campo en el formulario de aplicación de préstamo y utiliza los métodos get y set para cada uno de ellos. Más tarde, asignar valores a los objetos utilizando valores predefinidos o API de automatización codificadas como RandomString o RandomNumber.
public class LoanApplication { public string email {get;set;} public int income {get;set;} public int loanAmount {get;set;} public int loanTerm {get;set;} public int age {get;set;} public int expectedLoanRate {get;set;} }public class LoanApplication { public string email {get;set;} public int income {get;set;} public int loanAmount {get;set;} public int loanTerm {get;set;} public int age {get;set;} public int expectedLoanRate {get;set;} }
Crea el caso de prueba codificado
-
Crea un nuevo caso de prueba codificado (Grupo de archivos > Nuevo > Caso de prueba codificado) y nómbralo applyForLoan.
-
Haz referencia al archivo de origen codificado que creaste anteriormente en tu caso de prueba codificado para generar datos.
private LoanApplication myLoanApplication;private LoanApplication myLoanApplication; -
Dentro de la clase pública del caso de prueba codificado (applyForLoan), pero fuera del método Ejecutar, crea otro método llamado InitializeTestData. Aquí estableces los valores para cada campo dentro del formulario de aplicación de préstamo.
public void InitializeTestData() { myLoanApplication = new LoanApplication(); myLoanApplication.age = 42; myLoanApplication.email = "john.doe@uipath.com"; myLoanApplication.income = 30000; myLoanApplication.loanAmount = decimal.ToInt32(testing.RandomNumber(20000,30000,0)); myLoanApplication.loanTerm = 5; myLoanApplication.expectedLoanRate = 8; }public void InitializeTestData() { myLoanApplication = new LoanApplication(); myLoanApplication.age = 42; myLoanApplication.email = "john.doe@uipath.com"; myLoanApplication.income = 30000; myLoanApplication.loanAmount = decimal.ToInt32(testing.RandomNumber(20000,30000,0)); myLoanApplication.loanTerm = 5; myLoanApplication.expectedLoanRate = 8; }
-
En la sección Organizar, inicializa los datos de prueba para tu caso de prueba.
InitializeTestData();InitializeTestData(); -
Captura todos los elementos de la IU que quieres utilizar en tu caso de prueba codificado dentro del repositorio de objetos.
-
¡Accede a todos los elementos de la IU en la aplicación y comienza a automatizar! Abre la aplicación de UiBank y elige solicitar un préstamo.
var homeScreen = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.HomeScreen); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Products); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Loans); var applyForLoanScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.ApplyForLoan); applyForLoanScreen.Click(ObjectRepository.Descriptors.UiBank.ApplyForLoan.ApplyForALoan);var homeScreen = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.HomeScreen); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Products); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Loans); var applyForLoanScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.ApplyForLoan); applyForLoanScreen.Click(ObjectRepository.Descriptors.UiBank.ApplyForLoan.ApplyForALoan);
-
Rellena el formulario de aplicación de préstamo con los datos de prueba que inicializaste anteriormente.
var loanApplicationForm = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.LoanApplication); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.EmailAddress, myLoanApplication.email); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanAmountRequested, myLoanApplication.loanAmount.ToString()); loanApplicationForm.SelectItem(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanTerm, "5"); Log(loanApplicationForm.ToString()); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.CurrentYearlyIncome,"30000"); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.Age, myLoanApplication.age.ToString());var loanApplicationForm = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.LoanApplication); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.EmailAddress, myLoanApplication.email); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanAmountRequested, myLoanApplication.loanAmount.ToString()); loanApplicationForm.SelectItem(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanTerm, "5"); Log(loanApplicationForm.ToString()); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.CurrentYearlyIncome,"30000"); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.Age, myLoanApplication.age.ToString());
-
En la sección Actuar añade la acción de seleccionar el botón Enviar.
loanApplicationForm.Click(ObjectRepository.Descriptors.UiBank.LoanApplication.SubmitLoanApplication);loanApplicationForm.Click(ObjectRepository.Descriptors.UiBank.LoanApplication.SubmitLoanApplication); -
En la sección Afirmar, recupera la tasa del préstamo que la aplicación calculó y verifica si coincide con la tasa del préstamo que estimaste en el método InitializeTestData.
var loanResultsScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.LoanResults); var actualLoanRate = loanResultsScreen.GetText(ObjectRepository.Descriptors.UiBank.LoanResults.LoanRate); testing.VerifyExpression(actualLoanRate == myLoanApplication.expectedLoanRate.ToString(),"The expected and actual loan rates are equal.",true, "Verify Expression", true, false);var loanResultsScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.LoanResults); var actualLoanRate = loanResultsScreen.GetText(ObjectRepository.Descriptors.UiBank.LoanResults.LoanRate); testing.VerifyExpression(actualLoanRate == myLoanApplication.expectedLoanRate.ToString(),"The expected and actual loan rates are equal.",true, "Verify Expression", true, false);
Proyecto de ejemplo
Para seguir los pasos y probar el tutorial tú mismo, consulta el siguiente proyecto de ejemplo: Solicitar un préstamo con UiBank.