Comando FillInputBy

From GXtest Wiki
Jump to: navigation, search
Spanish.gif
English.gif
Japan.gif

Contents

FillInputBy

El comando FillInputBy sirve para escribir un texto en un control editable. Funciona de manera análoga al comando FillInput, con la diferencia que el control que será editado puede ser un control no-nativo de GeneXus (un control externo a la KB). Esto permite a GXtest poder escribir en campos editables "externos", por ejemplo en una caja de texto que aparece dentro de un frame de una aplicación que no fue generada con GeneXus.

Parámetros del comando

  • Target input: un criterio de identificación del control (por ejemplo "id=edit1")
  • Value: Texto que será escrito en el control


Criterios de identificación del control

Los criterios que se pueden utilizar para identificar un control en la página son:

  • id: Identificador único del control, corresponde al atributo id del elemento HTML. Ejemplo: id=edit1
  • name: Nombre del control, corresponde al atributo name del elemento HTML. Ejemplo: name=ClientName
  • class: Clase del control, corresponde al atributo class del elemento HTML. Ejemplo: class=BlackEditBoxes
  • xpath: Xpath que identifica el control en el DOM del HTML.


Consideraciones

  • Las búsquedas por name y (sobretodo por) class pueden dar múltiples resultados, ya que no son atributos que puedan identificar en forma inequívoca al control. En caso de tener múltiples controles que cumplan el criterio, se seleccionará el primero.
  • La búsqueda utilizando xpath es la menos recomendada de las 4, ya que pueden "romperse" con cambios en la interfaz de la aplicación (quizás incluso por cambios no visibles, como una nueva versión del generador GeneXus), debido a cambios en el HTML o DOM generado y la ubicación del control.
  • Debido a los dos puntos anteriores, se recomienda utilizar en el siguiente orden de preferencia los criterios de identificación: id, name, class, y si ninguno de los tres anteriores pudiera ser utilizado, entonces usar xpath.


Ejemplo

FillInputBy("name=ClientName","Peter")