Transferencia de robots de Windows a Linux#
Puntos clave de la transferencia #
Al transferir un robot de Sherpa Designer en entornos Windows y Linux, se deben considerar varios aspectos importantes. Si un bloque está presente en Sherpa Designer tanto para Windows como para Linux, no se requieren acciones adicionales para su transferencia. Los bloques funcionan en PowerShell, que opera de manera idéntica en ambas plataformas. Todas las clases y funcionalidades implementadas en el robot para Windows se transfieren sin cambios al entorno Linux.
Sin embargo, es importante señalar que los objetos COM de Word y Excel no funcionarán en sistemas similares a Linux. Al realizar la transferencia, es necesario verificar el "Panel de propiedades" de todos los bloques relacionados con Word y Excel, y desmarcar la casilla: . Después de que el usuario desmarque las casillas "Usar COM", los bloques de Word y Excel en el entorno Linux funcionarán correctamente.
Diferencias en las rutas de archivos#
Al trabajar con Linux, es necesario tener en cuenta que las rutas de archivos tienen un formato diferente, utilizando la barra diagonal.
Ejemplos de designaciones de separadores en rutas de archivos:
- En sistemas similares a Linux se utiliza la barra diagonal: /home/user/documents/file.txt
- En Windows se utiliza la barra invertida: C:\Users\User\Documents\file.txt
Sin embargo, las rutas absolutas (como C: o D:) no funcionarán. Utilice métodos estándar para determinar el directorio de trabajo actual, como `[Environment]::CurrentDirectory`. Esto le permitirá identificar con precisión dónde se encuentra su código y ayudará a formar correctamente las rutas relativas. Una ruta relativa indica la ubicación del archivo en relación con el directorio de trabajo actual. Por ejemplo, si el directorio actual es:
/home/user, para acceder al archivo file.txt en el directorio documents puede utilizar: documents/file.txt.
Grabación de selectores en navegadores y aplicaciones#
En cuanto a la grabación de selectores, en Yandex Browser/Chromium en el entorno Linux se utiliza el mismo complemento que en Windows. Solo es necesario instalar el complemento siguiendo las instrucciones en la sección Instalación del complemento en Yandex Browser.
Si la aplicación admite la tecnología at-spi (Interfaz de Proveedor de Servicios de Tecnología Asistencial), el robot funcionará con ella directamente a través de selectores, como en el entorno Windows.
Funcionalidad de los robots#
Existen algunas limitaciones relacionadas con los Bloques de Sherpa Designer disponibles en el entorno Linux:
| Categoría de Bloques | Bloques no disponibles en Linux |
|---|---|
| Automatización de UI | ClickOnText CopyToClipboard PasteFromClipboard CollectData SelectOption DragAndDrop HighlightElement ClearCache ControlCache GetGridData |
| Automatización de Navegadores | CopyToClipboardInternet PasteFromClipboardInternet |
| HTTP | InternalBrowserRequest GetYandexLinks GetGoogleLinks InternalAsyncBrowserGet |
| Automatización de SAP | SAPCreateConnection SAPCloseConnection SAPConnectConnection SAPSelectWindow SAPClick SAPPressEnter SAPDoubleClick SAPSelect SAPUnSelect SAPState SAPCollapse SAPExpand SAPGetText SAPSetText SAPColumnCount SAPRowCount SAPCount SAPSapEvent SAPExportTable SAPImportTable SAPGetCellValue SAPSetCellValue SAPCurrentDate SAPSelectRange SAPElementExists SAPPressF4 SAPHScroll SAPVScroll |
| Diálogos | ManLoop MediaPlayer |
| Automatización de Excel | FindTextExcel |
| Automatización de Outlook | GetOutlookMailMessages SendOutlookMailMessage ReSendOutlookMailMessage SaveAttachmentsFromOutlookMessage SaveMailFromOutlookMessage GetOutlookFolders MoveOutlookMessage ExtractEmailFromOutlookMessage LoadMsgFile ReplyOutlookMailMessage ChangePropertiesMailFromOutlookMessage |
| Portapapeles | GetClipboard SetClipboard SetFilesClipboard |
| Proceso/Servicio | ListServices StartService StopService SetServiceStartupType GetWindowState SetWindowState SetWindowLanguage SetWindowPosition AttachApplication |
| Automatización de Terminal | TerminalConnectSession TerminalCloseConnection TerminalGetCursor TerminalMoveCursor TerminalGetTextPosition TerminalGetFieldPosition TerminalSetTextPosition TerminalSetFieldPosition TerminalGetField TerminalSetField TerminalGetScreenArea TerminalSendKeys TerminalSendControlKey TerminalWaitTextPosition TerminalWaitFieldPosition TerminalGetFieldBetween TerminalSetFieldBetween |
| Registro | ReadValueFromRegistry WriteValueToRegistry ListitemsFromRegistry CreatePropertyInRegistry RemovePropertyInRegistry CreateHiveInRegistry RemoveHiveInRegistry |
| Automatización 1C | 1CCreateConnection 1CCloseConnection 1CExecuteQuery 1CExecuteCode 1CCollectData 1CTableCellClick 1CCheckboxControl |
| RDP | RDPGenerateConnection RDPCreateConnection RDPConnectInstance RDPCloseConnection RDPDisconnectSession RDPOperationFile RDPRunScript |
| Credenciales de Windows | SetWindowsCredentials GetWindowsCredentials DeleteWindowsCredentials GetCyberArkCredentials |
| Aprendizaje Automático | RegressionTrain RegressionPredict ClassificationTrain ClassificationPredict ClusterTrain ClusterPredict AnomalydetectionTrain AnomalydetectionPredict AssistantGenerator |
Algunas funciones, como el modo PiP (imagen en imagen), que permite a los usuarios ver videos u otros materiales visuales en una pequeña ventana que permanece encima de otras aplicaciones o ventanas, no están disponibles en Linux, ya que es una tecnología de Microsoft.
Plantillador en Linux#
En los sistemas Linux, el bloque del Plantillador funciona completamente. Sin embargo, si se requiere modificar el archivo de plantilla, esto solo se puede hacer en un entorno Windows. Esto se debe a que el Plantillador para Linux aún se encuentra en proceso de desarrollo. Actualmente, algunos editores, como Word y herramientas especializadas para diseñadores, utilizan funciones de edición que están temporalmente no disponibles en Linux. Después de realizar cambios en el archivo de plantilla en el entorno Windows, será necesario crear o actualizar un archivo JSON para reflejar estos cambios en el Plantillador para Linux. Después de esto, el archivo JSON se carga en el sistema utilizando comandos o API específicos para su entorno.
Elementos de la página web#
Al trasladar robots, pueden surgir problemas con la ejecución de selectores por imágenes, ya que el robot no encontrará las imágenes.
En Sherpa Designer se utilizan cuatro métodos de reconocimiento de imágenes (campo "Tipo de comparación"):
- SQDIFF (Diferencia cuadrática) - el método calcula la diferencia cuadrática entre los píxeles de dos imágenes. Cuanto menor sea el valor, mayor será la similitud entre las imágenes;
- CCORR (Correlación) - el método utiliza la correlación para evaluar la similitud entre las imágenes. Da los mejores resultados cuando las imágenes tienen la misma iluminación y contraste;
- CCOEFF (Coeficiente de correlación) - el método basado en el coeficiente de correlación mide el grado en que dos imágenes pueden ser comparadas, normalizando los resultados por sus promedios;
- NATIVE (por defecto) - el método es preestablecido y se utiliza para comparaciones rápidas mediante algoritmos integrados, basados en las características de la plataforma.
Si el método NATIVE no funciona, se recomienda utilizar SQDIFF, ya que en sistemas similares a Linux no existe un mapa de bits de la imagen de la ventana, disponible en Windows.
También es importante que el lugar de grabación de los elementos de control coincida con la resolución de la pantalla y la profundidad de color, de lo contrario, las imágenes pueden escalarse y el robot no podrá encontrarlas.