2010-05-12 19 views
6

Estoy escribiendo una prueba de Selenio en PHP usando la extensión PHPUnit Selenium.Selenio: ¿Cómo seleccionar una opción de un menú de selección?

sé cómo escribir algo en un campo de texto:

$this->type('fieldName', 'value'); 

Pero, ¿cómo seleccionar una opción en un menú desplegable?

+1

pequeño truco: siempre se puede registrar su prueba - o parte de - el uso de selenio IDE (extensión de Firefox) y convertir la prueba grabada en PHP usando Archivo -> Exportar como caso de prueba ... -> PHP Selenio RC –

Respuesta

12

Para ampliar sobre las otras respuestas (exacto), puede seleccionar sobre la base de la etiqueta, el valor, la identificación, o el índice de las opciones. A partir de la referencia oficial disponible en http://release.seleniumhq.org/selenium-core/1.0/reference.html:

seleccione (selectLocator, optionLocator)

Argumentos:

  • selectLocator - un localizador de elemento identificativo de un menú desplegable
  • optionLocator - un localizador de opciones (una etiqueta por defecto)

Seleccione una opción de un menú desplegable utilizando un localizador de opciones.

Los localizadores de opciones proporcionan diferentes formas de especificar opciones de un elemento HTML Select (por ejemplo, para seleccionar una opción específica, o para afirmar que la opción seleccionada satisface una especificación). Hay varias formas de Seleccionar Localizador de Opciones.

  • etiqueta = labelPattern: coincide con opciones basadas en sus etiquetas, es decir, el texto visible. (Este es el valor predeterminado.)
    • label = regexp:^[Oo] Ther valor
  • = valuePattern: coincide con opciones basadas en sus valores.
    • valor = otra
  • Identificación = Identificación: coincide con opciones basadas en sus documentos de identidad.
    • id = option1
  • índice = índice: coincide con una opción basada en su índice (offset de cero). índice
    • = 2

Si no se proporciona ningún prefijo opción de localizador, el comportamiento por defecto es para que coincida en la etiqueta.

+0

podía publica el enlace donde encontraste esto? – Andrew

+0

He actualizado mi respuesta con un enlace a la referencia. –

2
//note that it's the option text not value 
$this->select('selectName', 'LabelText'); 
2
$this->select("selectFieldIdentifier", "label=Option label"); 
Cuestiones relacionadas