Acciones en QTP/UFT con ejemplo

⚡ Resumen inteligente

Acciones en UFT/QTP Divide un script de prueba en unidades lógicas y reutilizables para que los evaluadores puedan crear, mantener y compartir la automatización más rápidamente. Esta página explica los tres tipos de acciones, cómo dividirlas y llamarlas, y cómo pasar datos entre ellas.

  • 🧩 Definición: Una acción agrupa un conjunto de pasos de prueba en una unidad modular y reutilizable dentro de un UFT/QTP guión.
  • 🔁 Acciones reutilizables: Invoque la misma acción varias veces, en la misma prueba o desde cualquier otra prueba.
  • 🔒 Acciones no reutilizables: Ejecútalos solo una vez y únicamente dentro de la prueba en la que fueron creados.
  • 🌐 Acciones externas: Una acción reutilizable se convierte en una acción externa de solo lectura cuando otra prueba la invoca.
  • ✂️ Terrible: Divide una acción grande en acciones hermanas independientes o en un par padre-hijo anidado.
  • 📞 Acciones de llamada: Inserta una nueva acción, una copia de una acción o una llamada a una acción existente.
  • 📤 parámetros: Transfiera valores de entrada y salida entre acciones utilizando la instrucción RunAction.
  • 🗂️ Hojas de datos: Utilice la hoja Global para los datos de toda la prueba y la hoja Local de cada acción para los datos privados.

¿Qué es una acción en UFT/QTP?

Acciones in UFT/QTP Divide una prueba en «unidades lógicas» o «procesos de negocio». Cada acción agrupa los pasos que realizan una tarea reconocible, como iniciar sesión, buscar un vuelo o reservar un billete. Las acciones ayudan a crear un script más modular y eficiente.

Cuando se crea un script nuevo, consta de una sola acción. Puedes agregar más acciones a tu Micro Focus. UFT El script se ajusta a los requisitos, y cada acción añadida mantiene su propia lógica y datos locales separados del resto de la prueba.

Dividir un script extenso en acciones resulta muy útil cuando se necesita modificar una prueba. Un tester puede actualizar una acción, como la secuencia de inicio de sesión, sin tocar la lógica de búsqueda o de pago que reside en otras acciones. Este aislamiento también convierte las acciones en bloques de construcción reutilizables que otros scripts pueden utilizar en lugar de grabar los mismos pasos repetidamente.

Un script típico de reserva de vuelos, por ejemplo, se divide claramente en una acción de inicio de sesión, una acción de búsqueda de vuelos y una acción de reserva de billetes. Cada una tiene sus propios pasos y datos locales, por lo que un evaluador que solo necesita verificar el inicio de sesión no tiene que registrar ni mantener el flujo de la reserva.

Tipos de acciones en UFT/QTP: Reutilizables, no reutilizables y externos

UFT/QTP Admite tres tipos de acciones, y el tipo que elijas determinará si una acción se puede compartir entre diferentes scripts o si permanece privada para la prueba en la que se creó.

tipo de acción Dónde se puede ejecutar Editable en la prueba de llamada
Reutilizable La misma prueba, repetidas veces o cualquier otra prueba. Sí, de la prueba que lo posee
No reutilizable Solo la prueba donde se creó, y solo una vez. Sí:
Reutilizable externo Llamada desde otra prueba como una acción compartida y almacenada. No, solo lectura; solo se puede editar la copia local de la tabla de datos.

Una acción reutilizable se convierte en una acción externa En el momento en que otra prueba la llama en lugar de la prueba que la posee, las acciones externas permanecen de solo lectura en la prueba que realiza la llamada, ya que una acción compartida puede ser utilizada por docenas de scripts a la vez, y permitir que cada llamador edite los pasos rompería los demás. Aún puede parametrizar la llamada y trabajar localmente con una copia de su tabla de datos.

Como regla general, una nueva acción debe considerarse no reutilizable mientras su lógica sea específica para una sola prueba. PromoHaz que sea reutilizable tan pronto como un segundo script necesite los mismos pasos, y espera que se comporte como una acción externa de solo lectura en el momento en que ese segundo script la llame.

Cómo dividir, copiar y llamar acciones en UFT

A medida que una acción crece, manténgaseping Realizar cada paso en un mismo lugar dificulta la depuración y la reutilización del script. UFT Te permite dividir una acción existente en dos de dos maneras cuando se vuelve demasiado compleja.

  • División independiente (entre hermanos): La acción seleccionada se divide en dos acciones separadas que se ejecutan una tras otra, cada una manteniendoping su propia tabla de datos local.
  • División anidada (padre-hijo): La acción seleccionada se divide en una acción principal cuyo último paso llama a la segunda acción, la secundaria, manteniendo una dependencia lógica entre ambas.

Una vez que existen acciones, UFT ofrece tres formas de introducir una acción en una prueba desde el recuadro Menú:

  • Insertar llamada a una nueva acción: Crea una acción nueva y vacía dentro de la prueba actual.
  • Insertar llamada a copiar la acción: Copia una acción existente en su totalidad, incluyendo puntos de control, parametrización y su pestaña de tabla de datos, en la prueba que la llama. La copia es totalmente independiente, por lo que las ediciones nunca afectan ni se ven afectadas por la original. Puede copiar acciones reutilizables y no reutilizables.
  • Insertar llamada a una acción existente: Inserta una llamada de solo lectura a una acción reutilizable almacenada en otra prueba. Solo se puede modificar en la prueba donde se creó, lo que mantiene sincronizados a todos los que la llaman y facilita el mantenimiento de grandes conjuntos de pruebas.

Cada llamada se reduce a una RunAction Declaración en la Opinión de los Expertos:

' Calls Action2, which is stored in Test2, running it for one iteration
RunAction "Action2[Test2]", oneIteration

La acción se ejecuta tantas veces como especifiquen sus propiedades de llamada de acción. Por ejemplo, si Action2 está configurada para ejecutarse en cada iteración de la tabla de datos de Test2, pero la acción que la llama en Test1 se ejecuta solo una vez, Action2 seguirá ejecutándose solo una vez, porque la llamada en sí se activa una sola vez.

💡 Consejo: Cuando una prueba contiene varias acciones, abra la Flujo de prueba panel del menú Ver para arrastrarlos y reordenarlos. Esto cambia la secuencia en la que UFT ejecuta las acciones sin editar los pasos dentro de ninguna acción individual.

El siguiente video se basa en el script de inicio de sesión de cinco pasos creado en tutoriales anteriores para Reserva de vuelo y explica paso a paso cómo crear, dividir y llamar acciones. Es el vídeo más largo de este UFT/QTP serie de tutorialesPor eso, conviene tomar notas mientras se mira.

Haga clic en aquí si el video no es accesible

Cómo pasar parámetros y almacenar valores de salida entre acciones

Además de invocar una acción, la mayoría de los scripts reales necesitan introducir datos en ellos y leer el resultado. UFT Asigna a cada acción sus propios parámetros de entrada y salida, además de varias formas de conservar el resultado.

Pasar parámetros hacia y desde una acción

Al igual que funciones o métodos En los lenguajes de programación, una acción puede definir entrada y salida. parámetrosEste parámetro no tiene relación con Parametrización de datos de prueba Como se explicó anteriormente, los parámetros aquí pertenecen a la acción misma, no a una columna de la tabla de datos. Configúrelos desde Editar > Acción > Propiedades de la accióno haciendo clic con el botón derecho en la acción en la Vista de palabras clave. Pase valores en la llamada usando esta sintaxis:

' Passes an input value and captures the action's output into myResult
RunAction "Action1", oneIteration, "testuser", myResult

Almacenamiento del valor de salida de una acción

Dependiendo de lo que necesite el resto del script, puedes guardar el valor devuelto por una acción en uno de tres lugares:

  • Una variable: RunAction "Action1", oneIteration, "testuser", myResult almacena la salida directamente en myResult.
  • An Variable ambiental: crear una variable definida por el usuario en Archivo > Configuración > Entorno, luego escribe RunAction "Action1", oneIteration, "testuser", Environment("env_var").
  • Una columna de tabla de datos: RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet) escribe el resultado directamente en la hoja global.

Fichas de datos globales y locales

Las acciones leen y escriben datos de prueba a través de dos tipos de hojas. Hoja de datos global es único para toda la prueba; cualquier acción puede leer o escribir en él, y siempre se denomina “Global”. Hoja de datos local es único por acción, recibe el nombre de esa acción y solo su propia acción puede leerlo o escribirlo.

Salir de una acción y controlar la iteración

Cuando un paso necesita detener una acción antes de tiempo en lugar de dejar que se ejecute hasta su finalización, UFT Proporciona cuatro afirmaciones:

  • ExitAction — Detiene únicamente la acción actual.
  • ExitActionIteration — Detiene la iteración actual de la acción y pasa a la siguiente.
  • ExitRun — Detiene inmediatamente toda la ejecución de la prueba.
  • ExitGlobalIteration — Detiene la iteración de prueba global actual y pasa a la siguiente.

Mientras se ejecuta un UFT/QTP guión que utiliza acciones, tenga en cuenta las iteraciones globales y locales, ya que ambas afectan la cantidad de veces que se ejecuta una acción. Puede cambiar la frecuencia con la que se repite una acción llamada abriendo Propiedades de llamada de acción > Ejecutar pestaña y configurar allí el modo de iteración.

⚠ Error común: Una acción llamada que está configurada para ejecutarse en cada iteración local, pero que se activa desde un elemento padre que solo se ejecuta una vez, se ejecutará una sola vez. Confirme tanto el número de iteraciones globales del elemento padre como las propiedades de llamada de acción del elemento hijo antes de asumir que una acción llamada se repetirá.

Preguntas Frecuentes

Una acción es una función integrada UFT una característica con su propio repositorio de objetos y tabla de datos, y puede o no ser reutilizable. función Es código VBScript puro, siempre reutilizable y no tiene ni un repositorio de objetos ni una tabla de datos propios.

Sí. Abra las propiedades de la acción y cambie la bandera de reutilización en cualquier momento. Si marca una acción previamente reutilizable como no reutilizable mientras otras pruebas aún la llaman, esas pruebas que la llaman fallarán y UFT Se mostrará una advertencia hasta que se eliminen las llamadas.

Las acciones se guardan con la prueba como carpetas de acciones .mtr/.mts, en lugar de como archivos de script independientes. Las bibliotecas de funciones, por el contrario, se guardan como archivos .vbs o .qfl separados que cualquier prueba puede asociar y reutilizar.

Sí. Las herramientas de diseño de pruebas asistidas por IA pueden analizar un flujo grabado y sugerir puntos de interrupción lógicos, como el inicio de sesión, la búsqueda y el pago, como acciones candidatas. Sin embargo, el evaluador debe confirmar que la división se ajusta a las necesidades reales de reutilización antes de finalizarla.

Resulta útil. La identificación de objetos con capacidad de autorreparación vuelve a vincular un control movido o renombrado dentro de una acción en lugar de fallar directamente, lo que reduce la carga de mantenimiento de las acciones reutilizables y externas compartidas por muchos scripts. RevExamine los objetos curados antes de confiar plenamente en ellos.

Resumir este post con: