Anda di halaman 1dari 126

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

NOTA: En estos momentos estamos trabajando en la documentacin de estas secciones. Creemos que la informacin aqu provista es precisa, sin embargo, ser conscientes de que tambin estamos trabajando en este captulo. Informacin adicional ser proporcionada a medida que avanzamos lo que debera hacer este captulo ms slida.

Introduccin WebDriver
La nueva caract er st ica pr im ar ia en Selenio 2,0 es la int egracin de la API WebDr iver. WebDr iver est diseado para pr opor cionar una int er faz de pr ogram acin m s sim ple, m s concisa adem s de abor dar algunas lim it aciones en la API de selenio- RC. Selenio-WebDr iver fue desar r ollado para apoyar m ej or las pginas web dinm icas donde los elem ent os de una pgina pueden cam biar sin la pr opia pgina se vuelve a car gar. El obj et ivo de WebDr iver es pr opor cionar una API or ient ada a obj et os bien diseado que pr opor ciona sopor t e m ej orado para los pr oblem as de pr uebas web- app avanzadas m oder nas.

Cmo WebDriver 'Drive' el Navegador comparacin con selenio RC?


Selenio-WebDr iver r ealiza llam adas dir ect as al navegador ut ilizando el sopor t e nat ivo de cada navegador para la aut om at izacin. Cmo se hacen est as llam adas dir ect as, y las caract er st icas que apoyan depende del navegador que est ut ilizando. La infor m acin de cada "conduct or del navegador se pr opor ciona m s adelant e en est e capt ulo. Par a aquellos fam iliar izados con selenio- RC, es m uy difer ent e de lo que estamos acostumbrados. El selenio- RC t rabaj de la m ism a m anera para cada navegador com pat ible. Es inyect a 'funciones j avascr ipt en el navegador cuando se car ga el navegador y luego ut iliz su j avascr ipt para conducir la AUT en el navegador. WebDr iver no ut iliza est a t cnica. Ot ra vez, im pulsa el navegador usando dir ect am ent e de t u navegador sopor t e int egrado par a la aut om at izacin.

WebDriver y el selenio-Server
Ust ed puede o no puede, necesit a el ser vidor de selenio, dependiendo de cm o se va a ut ilizar con selenio WebDr iver. Si va a ut ilizar slo la API WebDr iver ust ed no necesit a el selenio- Ser ver. Si su navegador y t odas las pr uebas se ej ecut an en la m ism a m quina, y sus pr uebas slo usar la API WebDr iver, ent onces no es necesar io ej ecut ar el selenio- Ser ver ; WebDr iver se ej ecut ar el navegador dir ect am ent e. Hay algunas razones pesar de ut ilizar el selenio- Ser ver con selenio WebDr iver. Est ut ilizando selenio- Gr id para dist r ibuir sus pr uebas en var ios equipos o m quinas vir t uales (VM). Desea conect ar a una m quina r em ot a que t enga una det er m inada ver sin del navegador que no est en el equipo act ual. No ut iliza los enlaces Java ( es decir, Pyt hon, C # o Ruby) y desea ut ilizar cont r olador es Ht m lUnit 1 de 20

Configurar un proyecto selenio WebDriver

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... Ruby) y desea ut ilizar cont r olador es Ht m lUnit

Configurar un proyecto selenio WebDriver


Par a inst alar selenio significa la cr eacin de un pr oyect o en un desar r ollo para que pueda escr ibir un pr ogram a con el selenio. La for m a de hacer lo depende de su lenguaj e de pr ogram acin y ent or no de desar r ollo.

Java
La for m a m s sencilla de cr ear un pr oyect o Java Selenio 2.0 es usar Maven. Maven descar gar los enlaces de Java ( la bibliot eca Selenio 2,0 j ava client e) y t odas sus dependencias, y cr ear el pr oyect o para que, con un pom .xm l exper t o ( configuracin del pr oyect o) de ar chivos. Una vez hecho est o, se puede im por t ar el pr oyect o Maven en su I DE pr efer ido, I nt elliJ I DEA o Eclipse. En pr im er lugar, cr ee una car pet a que cont enga los ar chivos de pr oyect o de selenio. A cont inuacin, ut ilizar Maven, necesit a un ar chivo pom .xm l. Est a se puede cr ear con un edit or de t ext o. Nosot r os no enseam os a los det alles de los ar chivos pom .xm l o para ut ilizar Maven ya que exist en excelent es r efer encias sobr e esto. Su ar chivo pom .xm l se ver algo com o est o. Cr ea el ar chivo en la car pet a que ha cr eado para su pr oyect o.

<? Xml version = encoding "1.0" = "UTF-8"> <Xmlns proyecto = "http://maven.apache.org/POM/4.0.0" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instanc xsi: schemaLocation = "http://maven.apache.org/POM/4.0 <modelVersion> 4.0.0 </ modelVersion> <groupId> MySel20Proj </ groupId> <artifactId> MySel20Proj </ artifactId> <versin> 1.0 </ version> <dependencies> <dependency> <groupId> org.seleniumhq.selenium </ groupId> <artifactId> selenio-java </ artifactId> <versin> 2.33.0 </ version> </ Dependency> <dependency> <groupId> com.opera </ groupId> <artifactId> operadriver </ artifactId> </ Dependency> </ Dependencies> <dependencyManagement> <dependencies> <dependency> <groupId> com.opera </ groupId> <artifactId> operadriver </ artifactId> <versin> 1.3 </ version> <exclusiones> <exclusion> <groupId> org.seleniumhq.selenium <artifactId> selenio remoto controlador </ Exclusin> </ Exclusiones> </ Dependency> </ Dependencies> </ DependencyManagement> </ Project>

2 de 20

Asegr ese de especificar la ver sin m s r ecient e. En el m om ent o de escr ibir est o, la ver sin que apar ece ar r iba fue la m s r ecient e, sin 28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Asegr ese de especificar la ver sin m s r ecient e. En el m om ent o de escr ibir est o, la ver sin que apar ece ar r iba fue la m s r ecient e, sin em bar go, hubo lanzam ient os fr ecuent es inm ediat am ent e despus de la liberacin de selenio 2.0. Com pr uebe la pgina de descar ga Maven para la ver sin act ual y edit ar la dependencia ant er ior en consecuencia. Ahora, desde una lnea de com andos, CD en el dir ect or io del pr oyect o y ej ecut ar Maven com o sigue.
mvn clean install

Est o descar gar selenio y t odas sus dependencias y agr egar los al proyecto. Por lt im o, im por t e el pr oyect o en su ent or no de desar r ollo pr efer ido. Para aquellos no fam iliar izados con est o, le ofr ecem os un apndice que m uest ra est o. Importando un proyecto Maven en IntelliJ IDEA . Importando un proyecto Maven en Eclipse .

C#
A par t ir de Selenio 2.2.0, los enlaces a C # se dist r ibuyen com o un conj unt o de ar chivos DLL fir m ado j unt o con ot r os ar chivos DLL de dependencia. Ant es de 2.2.0, t odos selenio dll est aban sin fir m ar. Para incluir selenio en su pr oyect o, slo t iene que descar gar el lt im o ar chivo zip selenio dot net de ht t ps: / / code.google.com / p/ selenium / downloads/ list . Si est usando Windows Vist a o super ior, debe desbloquear el ar chivo zip ant es de descom pr im ir lo: Haga clic en el ar chivo zip, haga clic en "Pr opiedades", haga clic en "Desbloquear " y haga clic en "OK". Descom pr im ir el cont enido del ar chivo zip, y agr egue una r efer encia a cada uno de los dlls descom pr im idos a su pr oyect o en Visual St udio ( o el I DE de eleccin) . Paquet es NuGet oficiales: RC WebDr iver WebDr iver BackedSelenium Soporte

Python
Si ust ed est usando Pyt hon para la aut om at izacin de pr uebas, ent onces pr obablem ent e ya est fam iliar izado con el desar r ollo en Python. Para aadir selenio en el ent or no Pyt hon ej ecut e el siguient e com ando desde una lnea de com andos.
pip instalar selenio

Pip r equier e pip a inst alar, pip t am bin t iene una dependencia en set upt ools . Enseanza Pyt hon desar r ollo en s m ism o est m s all del alcance de est e docum ent o, sin em bar go, hay m uchos r ecur sos en los desar r ollador es de Pyt hon y es pr obable que en su or ganizacin puede ayudar le a poner se al da.

Rub
3 de 20 Si ust ed est usando Ruby com o la aut om at izacin de pr uebas, ent onces pr obablem ent e ya est fam iliar izado con el desar r ollo de28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Rub
Si ust ed est usando Ruby com o la aut om at izacin de pr uebas, ent onces pr obablem ent e ya est fam iliar izado con el desar r ollo de Ruby. Para aadir selenio a su ent or no Rub ej ecut e el com ando siguient e desde una lnea de com andos.
gem install selenio webdriver

Enseanza Rub desar r ollo en s m ism o est m s all del alcance de est e docum ent o, sin em bar go, hay m uchos r ecur sos en los desar r ollador es de Ruby y es pr obable que en su or ganizacin puede ayudar le a poner se al da.

Perl
Enlaces de Per l son pr opor cionados por un t er cer o, por favor r efer ir se a cualquiera de la docum ent acin sobr e la inst alacin / empezar. Hay un conocido vinculant e Per l par t ir de est e escr it o.

PHP
Enlaces de PHP son pr opor cionados por un t er cer o, por favor r efer ir se a cualquiera de la docum ent acin sobr e la inst alacin / empezar. Hay t r es enlaces conocidos en est e m om ent o: Por Chibim agic Por Lukasz Kolczynski y por el Facebook

Migracin de Selenio 1,0


Par a aquellos que ya t ienen conj unt os de pr uebas escr it as con Selenio 1.0, hem os pr opor cionado consej os sobr e cm o m igrar el cdigo exist ent e para Selenio 2.0. Sim on St ewar t , el desar r ollador pr incipal de Selenio 2.0, ha escr it o un ar t culo sobr e la m igracin de Selenio 1.0. Hem os incluido est o com o un apndice. Migr acin de selenio RC de selenio WebDr iver

Presentacin de la API selenio WebDriver por Ejemplo


WebDr iver es una her ram ient a para aut om at izar las pr uebas de aplicaciones web, y en par t icular par a com pr obar que funcionan com o se esperaba. Su obj et ivo es pr opor cionar una API de usar que es fcil de explorar y ent ender, m s fcil de usar que el selenio- RC ( 1.0) de la API , que le ayudar a hacer sus pr uebas m s fciles de leer y de mantener. No est vinculada a ningn m ar co de pr ueba en par t icular, por lo que se puede ut ilizar igualm ent e bien en una pr ueba de la unidad o de un m t odo viej o y sim ple "m ain". En est a seccin se pr esent a la API WebDr iver y ayuda a em pezar a fam iliar izar se con l. Com ience por la cr eacin de un pr oyect o WebDr iver si no lo ha hecho. Est o se descr ibe en la seccin ant er ior, Configurar un proyecto selenio WebDriver . Una vez que el pr oyect o est configurado, se puede ver que WebDr iver act a com o cualquier nor m al de la bibliot eca: es t ot alm ent e aut nom o, y por lo general no es necesar io r ecor dar para iniciar los pr ocesos adicionales o de ej ecut ar los inst alador es ant es de usar lo, a difer encia el ser vidor pr oxy con selenio RC. Not a: No se r equier en m edidas adicionales para ut ilizar cont r olador Chrome , Opera cont r olador , cont r olador de Andr oid y iPhone cont r olador 4 de 20 Ahora est list o para escr ibir algo de cdigo. Una m aner a fcil de 28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... Chrome , Opera cont r olador , cont r olador de Andr oid y iPhone cont r olador Ahora est list o para escr ibir algo de cdigo. Una m aner a fcil de em pezar es est e ej em plo, que busca el t r m ino "queso" en Google y luego em it e el t t ulo de la pgina de r esult ados de la consola.

... paquete org openqa selenio ejemplo; importar org.openqa.selenium.By; org.openqa.selenium.WebDriver importacin; importar org.openqa.selenium.WebElement; org.openqa.selenium.firefox.FirefoxDriver importacin; importar org.openqa.selenium.support.ui.ExpectedCondition; importar org.openqa.selenium.support.ui.WebDriverWait; public class Selenium2Example { public static void main (String [] args) { / / Crear una nueva instancia del controlador de Firefox / / Observe que el resto del cdigo se basa en la interfaz, / / No la implementacin. WebDriver controlador FirefoxDriver = new (); / / Y ahora utilizan este para visitar Google conductor get ("http://www.google.com").; / / Como alternativa, el mismo que se puede hacer como este / / Driver.navigate () para ("http://www.google.com").; / / Buscar el elemento de entrada de texto por su nombre Elemento WebElement = conductor findElement (Por nombre / / Introducir algo que buscar elemento. sendKeys ("queso!"); / / Ahora enva el formulario. . elemento presente ();

WebDriver encontrar la forma par

/ / Comprobar el ttulo de la pgina Sistema cabo println ("Ttulo de la pgina es:". Conductor

/ / Bsqueda de Google se hace dinmicamente con JavaScript. / / Espera a que la pgina se cargue, tiempo de espera despus de (Nueva WebDriverWait (conductor, 10).) Hasta (nueva ExpectedCondi booleano aplican pblica (WebDriver d) { . retorno d getTitle () toLowerCase () startsWith } }); / / En caso de ver: "Queso - Bsqueda de Google!" Sistema cabo println ("Ttulo de la pgina es:". Conductor / / Cerrar el navegador conductor quit ().; } }

5 de 20

En las pr xim as secciones, apr ender m s acer ca de cm o ut ilizar WebDr iver para cosas com o navegar hacia delant e y hacia at r s en la hist or ia de su navegador, y cm o pr obar los sit ios web que ut ilizan los marcos y ventanas. Tam bin pr opor cionam os una discusin m s a 28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

WebDr iver para cosas com o navegar hacia delant e y hacia at r s en la hist or ia de su navegador, y cm o pr obar los sit ios web que ut ilizan los marcos y ventanas. Tam bin pr opor cionam os una discusin m s a fondo y ej em plos.

Comandos API selenio WebDriver y Operaciones


Extrayendo una pgina
La pr im era cosa que es pr obable que desee ver con WebDr iver es ir a una pgina. La for m a habit ual de hacer lo es llam ando "get ":

conductor get ("http://www.google.com").;

Dependiendo de var ios fact or es, incluyendo la com binacin OS / Br owser, WebDr iver puede o no puede esperar a que la pgina se cargue. En algunas cir cunst ancias, WebDr iver puede devolver el cont r ol ant es de que la pgina ha t er m inado, o incluso com enzado, carga. Para gar ant izar la solidez, es necesar io esperar a que el elem ent o ( s) que exist en en la pgina ut ilizando explcitas e implcitas Waits .

Localizacin de los elementos de la interfaz de usuario (WebElements)


Elem ent os de fij acin en WebDr iver se pueden hacer en la inst ancia WebDr iver m ism o o en un WebElem ent . Cada uno de los enlaces de lenguaj e exponer un m t odo "Buscar elem ent o" y "Buscar elem ent os". El pr im er o devuelve un obj et o WebElem ent de lo cont rar io, se pr oduce una excepcin. Est e lt im o devuelve una list a de WebElem ent s, puede devolver una list a vaca si no hay elem ent os DOM coinciden con la consult a. Los m t odos de "descubr im ient o" t om an un localizador o un obj et o de consult a llam ado "por ". "Por " est rat egias se enum er an a cont inuacin. Por ID Est a es la for m a m s eficient e y pr efer ido para localizar un elem ent o. Er r or es com unes que los desar r ollador es de la int er faz de usuar io hacen es t ener I D no es exclusivo de una pgina o de aut o- generacin de la ident ificacin, t ant o debe ser evit ado. Una clase en un elem ent o HTML es m s apr opiado que un id autogenerado. Ej em plo de cm o encont rar un elem ent o que se ve as:
<div id= "coolestWidgetEvah"> ... </ div>

. WebElement = elemento conductor findElement (Por id ("coolestWidget

6 de 20

En Nombre de clase

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

En Nombre de clase "Class" en est e caso se r efier e al at r ibut o en el elem ent o DOM. A m enudo en el uso pr ct ico hay m uchos elem ent os DOM con el m ism o nom br e de la clase, por lo t ant o la bsqueda de m lt iples elem ent os se convier t e en la opcin m s pr ct ica sobr e encont rar el pr im er elem ent o. Ej em plo de cm o encont rar un elem ent o que se ve as:
<div class= "cheese"> <span> Cheddar </ span> </ div> <div

List <WebElement> quesos = conductor findElements (Por className

Por Tag Name El DOM Tag Nom br e del elem ent o. Ej em plo de cm o encont rar un elem ent o que se ve as:
<iframe src= "..."> </ iframe>

. WebElement frame = conductor findElement (Por tagName ("iframe").);

Por nombre Busque el elem ent o de ent rada a j uego con at r ibut o de nom br e. Ej em plo de cm o encont rar un elem ent o que se ve as:
<input name= "cheese" type= "text" />

. Queso WebElement = conductor findElement (Por nombre ("queso").);

Por Link Text Busque el elem ent o de enlace con el t ext o a j uego visible. Ej em plo de cm o encont rar un elem ent o que se ve as:
<a href= "http://www.google.com/search?q=cheese"> queso </ a >>

. Queso WebElement = conductor findElement (Por linkText ("queso").);

7 de 20

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

. Queso WebElement = conductor findElement (Por linkText ("queso").);

Por Parcial Link Text Busque el elem ent o de enlace con el t ext o visible coincidencia par cial. Ej em plo de cm o encont rar un elem ent o que se ve as:
<a href= "http://www.google.com/search?q=cheese"> bsqueda de queso

. Queso WebElement = conductor findElement (Por partialLinkText

Por CSS Com o su nom br e lo indica se t rat a de una est rat egia de localizacin de css. Sopor t e del navegador nat ivo se ut iliza por defect o, as que por favor consult e W3C CSS selectores <http://www.w3.org/TR/CSS/#selectors> una list a de disponibilidad general select or es CSS. Si un navegador no t iene sopor t e nat ivo para las consult as css, ent onces Arden se ut iliza. IE 6,7 y FF3.0 ut ilizan act ualm ent e Ar den com o el m ot or de consult a css. Tenga en cuent a que no t odos los navegador es fuer on cr eados iguales, algunos css que podr a funcionar en una ver sin no funcione en ot r o. Ej em plo de encont rar el queso a cont inuacin:
<div id= "food"> <span class= "dairy"> leche </ span> <span

WebElement queso = conductor findElement (Por cssSelector ("#

Por XPATH A un alt o nivel, WebDr iver ut iliza XPat h capacidades nat ivas del navegador siem pr e que sea posible. En aquellos navegador es que no t ienen sopor t e nat ivo de XPat h, hem os apor t ado nuest ra pr opia im plem ent acin. Est o puede conducir a un com por t am ient o inesperado si no son conscient es de las difer encias en los dist int os motores de XPath. Etiqueta y Nombre del Atributo Soporte nativo de XPath S

Conductor Conductor Ht m lUnit 8 de 20

Valores de Atributos

En m insculas Tal y com o aparecen en el cdigo HTML

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Ht m lUnit Explorador del cont r olador Internet Fir efox cont r olador

aparecen en el cdigo HTML En m insculas Tal y com o aparecen en el cdigo HTML Maysculas y m insculas Tal y com o aparecen en el cdigo HTML No

Est o es un poco abst ract o, as que para el siguient e fragm ent o de cdigo HTML:
<input type= "text" name= "example" /> <INPUT Type= "text" name= "other" />

List <WebElement> entradas = conductor findElements (Por xpath

Se encont r que el siguient e nm er o de par t idos Explorador del controlador Internet 2 0

Expresin XPath / / Entrada / / INPUT

Conductor HtmlUnit 1 ( "ej em plo") 0

Firefox controlador 2 2

A veces los elem ent os HTML no t ienen at r ibut os que se declar en explcit am ent e, ya que t endr n por defect o los valor es conocidos. Por ej em plo, la et iquet a de "ent rada" no r equier e el at r ibut o "t ype" por que el valor pr edet er m inado es "t ext ". La r egla de or o cuando se ut iliza XPat h en WebDr iver es que ust ed no debe esperar a ser capaz de igualar en cont r a de est os at r ibut os im plcit os. Uso de JavaScript Puede ej ecut ar j avascr ipt ar bit rar io para encont rar un elem ent o y, siem pr e y cuando ust ed vuelve un elem ent o DOM, se convier t e aut om t icam ent e en un obj et o WebElem ent . Ej em plo sim ple de una pgina que ha car gado j Quer y:

WebElement elemento = (WebElement) ((JavascriptExecutor) conductor)

Encont rar t odos los elem ent os de ent rada a la cada et iquet a en una pgina:

List <WebElement> etiquetas = controlador findElements (Por List <WebElement> entradas = (List <WebElement>) ((JavascriptExecutor) "Etiquetas var = argumentos [0], entradas = []; for (var i = 0; i "Inputs.push (document.getElementById (etiquetas [i] getAttribute

9 de 20

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

"Etiquetas var = argumentos [0], entradas = []; for (var i = 0; i "Inputs.push (document.getElementById (etiquetas [i] getAttribute

Entrada de usuario - Llenado de formularios


Ya hem os vist o cm o int r oducir t ext o en un cam po de r ea de t ext o o t ext o, per o qu pasa con los dem s elem ent os? Usted puede "cam biar " el est ado de casillas de ver ificacin, y se puede usar "click" para est ablecer algo as com o una et iquet a de opcin seleccionada. Trat ar con et iquet as SELECT no est nada m al:

. WebElement select = conductor findElement (Por tagName ("select").); List <> WebElement allOptions = seleccionar findElements (Por para (opcin WebElement: allOptions) { Sistema cabo println (String format ("El valor es:% s."., haga clic en la opcin ().; }

Est e se encuent ra el pr im er elem ent o "SELECT" en la pgina, y el ciclo a t ravs de cada una de las opciones, a su vez, la im pr esin de sus valor es, y la seleccin de cada uno de ellos. Como te dars cuent a, est o no es la for m a m s eficaz de t rat ar con elem ent os SELECT. Clases de apoyo de WebDr iver incluyen uno llam ado "Select ", que pr opor ciona m t odos t iles para int eract uar con ellos.

Seleccionar select = new Select (controlador findElement (Por seleccione DeselectAll ().; seleccione selectByVisibleText ("Edam").;

Est o anular la seleccin de t odas las opciones en el pr im er lugar, seleccione en la pgina y, a cont inuacin, seleccione la opcin con el texto que se muestra de "Edam". Una vez que haya t er m inado de com plet ar el for m ular io, es pr obable que desee para enviar lo. Una for m a de hacer est o ser a encont rar el bot n "subm it " y haga clic en ella:

.. findElement controlador (. Por id ("submit")) click ();

Alt er nat ivam ent e, WebDr iver t iene el m t odo de conveniencia "enviar " en cada elem ent o. Si se llam a a est o en un elem ent o dent r o de un for m ular io, WebDr iver cam inar el DOM hast a que encuent r e la for m a envolvent e y luego llam a a pr esent ar en eso. Si el elem ent o no est en una for m a, a cont inuacin, la NoSuchElementException ser lanzado: 10 de 20 28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
NoSuchElementException ser lanzado:

. elemento presente ();

Desplazamiento entre Windows y Marcos


Algunas aplicaciones web t ienen m uchos cuadr os o m lt iples ventanas. WebDr iver apoya m over se ent r e vent anas con nom br e ut ilizando el m t odo de "Swit chTo":

controlador ventana SwitchTo () ("windowName")..;

Todas las llam adas a conducir ahora ser n int er pr et adas com o dir igidas a la vent ana en par t icular. Per o, cm o sabe el nom br e de la vent ana? Echa un vist azo a el j avascr ipt o vnculo que lo abr i:

<a href= "somewhere.html" target= "windowName"> Haga clic aqu para ab

Alt er nat ivam ent e, ust ed puede pasar un "ident ificador de vent ana" a la "Swit chTo ( ) . Window ( ) " m t odo. Sabiendo est o, es posible it erar sobr e t odas las vent anas abier t as de est e m odo:

(cadena de mango: controlador. getWindowHandles ()) { .. conductor SwitchTo () ventana (mango); }

Tam bin puede cam biar de un fot ogram a a ot r o ( oa ifram es) :

. conductor SwitchTo () cuadro ("frameName").;

Es posible acceder a subt ram as separando la r ut a con un punt o, y se puede especificar el m ar co de su ndice t am bin. Esto es:

. conductor SwitchTo () cuadro ("frameName.0.child").;

ir a al m ar co llam ado "hij o" de la pr im era subt ram a de la t ram a llam ada "fram eNam e." Todos los marcos son evaluados como de * mejor *. 11 de 20

Cuadros de dilogo emergente

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

de * mejor *.

Cuadros de dilogo emergente


A par t ir de Selenio 2.0 bet a 1, se ha const r uido en el apoyo para el m anej o de los cuadr os de dilogo em er gent es. Despus de haber disparado una accin que abr e una vent ana em er gent e, puede acceder a la descr ipcin con el siguient e:

Alerta alerta = conductor SwitchTo () alerta (.).;

Est o devolver el obj et o de aler t a abier t o. Con este objeto ahora se puede acept ar, r echazar, leer su cont enido o incluso de t ipo en un sist em a. Est a int er faz funciona igual de bien en aler t as, se confir m a y le solicit a. Consult e las JavaDocs o RubyDocs para ms infor m acin.

Navegacin: Historia y Ubicacin


Ant er ior m ent e, hem os cubier t o la navegacin a una pgina con el comando "get" (driver.get ("http://www.example.com")) Como hem os vist o, WebDr iver t iene una ser ie de pequeas int er faces cent radas en t ar eas concr et as, y la navegacin es una t ar ea t il. Debido a la car ga de una pgina es un r equisit o fundam ent al, el m t odo para hacer est o vive en la int er faz pr incipal WebDr iver, per o es sim plem ent e un sinnim o de:

conductor navegar () a ("http://www.example.com")..;

Para r eit erar : ". Navegar () a ()" y "get ()" hace exact am ent e lo m ism o. Uno es sim plem ent e m ucho m s fcil de escr ibir que la ot ra! La int er faz de "navegar " t am bin expone la capacidad de m over se hacia at r s y hacia adelant e en el hist or ial del navegador :

conductor navegar () forward ()..; conductor navegar () de nuevo (.).;

Tenga en cuent a que est a funcionalidad depende por com plet o en el navegador subyacente. Es m uy posible que algo inesperado puede suceder cuando se llam a a est os m t odos, si est s acost um brado al com por t am ient o de un navegador u ot r o.

Galletas
Ant es de dej ar los siguient es pasos, ust ed puede est ar int er esado en la com pr ensin de cm o ut ilizar cookies. En pr im er lugar, t iene que est ar en el dom inio que la cookie ser vlida para. Si ust ed est t rat ando de gallet as pr eest ablecidos ant es de em pezar a int eract uar con un sit io web y su pgina web es grande / t ar da un poco en 28/05/2013 7:39

12 de 20

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... est ar en el dom inio que la cookie ser vlida para. Si ust ed est t rat ando de gallet as pr eest ablecidos ant es de em pezar a int eract uar con un sit io web y su pgina web es grande / t ar da un poco en car gar una alt er nat iva es encont rar una pgina m s pequea en el sit io, por lo general la pgina 404 es pequea ( ht t p: / / exam ple. com/some404page )

/ / Ir al dominio correcto conductor get ("http://www.example.com").; / / Ahora configure la cookie. ste es vlida para todo el dominio Cookie Cookie = new Cookies ("llave", "valor"); conductor manejar () addCookie (cookie)..;

/ / Y ahora la salida de todas las cookies disponibles para la URL actu Set <> Galletas allCookies = conductor manejar () getCookies ()..; de (Cookies loadedCookie: allCookies) { Sistema cabo println (String format ("% s ->% s", loadedCookie } / / Puede eliminar las cookies de 3 formas / / Por nombre conductor manejar () deleteCookieNamed ("CookieName")..; / / Por Cookies conductor manejar () deleteCookie (loadedCookie.).; / / O todos ellos conductor manejar () deleteAllCookies ()..;

Cambiar el agente de usuario


Est o es fcil con el cont r olador de Fir efox :

FirefoxProfile perfil FirefoxProfile = new (); Perfil addAdditionalPreference ("general.useragent.override", "alguna c WebDriver controlador = new FirefoxDriver (perfil);

Arrastre y suelte
He aqu un ej em plo de cm o ut ilizar la clase Acciones para r ealizar una funcin de ar rast rar y solt ar. Se r equier en los event os nat ivos que est ar habilit ado.

Elemento WebElement = conductor findElement (Por nombre ("fuente").).; . Objetivo WebElement = conductor findElement (Por nombre ("target").); .. (Nuevas acciones (conductor)) DragAndDrop (elemento objetivo)

13 de 20

Especficos del conductor y Compensaciones

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Especficos del conductor y Compensaciones Drivers de selenio WebDriver


WebDr iver es el nom br e de la int er faz clave en cont ra de las pr uebas que se deben escr ibir, per o hay var ias im plem ent aciones. Estos incluyen:

HtmlUnit Conductor
Est a es act ualm ent e la aplicacin m s r pida y m s liger o de WebDr iver. Com o su nom br e lo indica, est e se basa en Ht m lUnit . Ht m lUnit es una aplicacin basada en Java de un navegador sin int er faz gr fica de usuar io. Para cualquier lengua vinculant e ( que no sea j ava) del ser vidor El selenio es necesar io para ut ilizar est e cont r olador. Uso

WebDriver controlador HtmlUnitDriver = new ();

Pros Aplicacin m s r pida de WebDr iver Una solucin Java pura y por lo que es independient e de la plat afor m a. Sopor t a JavaScr ipt Contras JavaScr ipt em ula el com por t am ient o de ot r os navegador es (ver ms abajo) JavaScript en el controlador HtmlUnit Ninguno de los navegador es m s popular es ut iliza el m ot or de JavaScr ipt ut ilizado por Ht m lUnit ( Rhino) . Si el r esult ado es el uso de JavaScr ipt Ht m lUnit los r esult ados pueden difer ir significat ivam ent e de los navegador es. Cuando decim os "JavaScr ipt " quer em os decir "JavaScr ipt y el DOM". Aunque el DOM se define por el W3C cada navegador t iene sus pr opias peculiar idades y difer encias en su aplicacin de la DOM y en la for m a en JavaScr ipt int eract a con l. Ht m lUnit t iene una im pr esionant e aplicacin com plet a de la DOM y t iene un buen sopor t e para el uso de JavaScr ipt , per o no es difer ent e de cualquier ot r o navegador : t iene sus pr opias peculiar idades y difer encias, t ant o del est ndar W3C DOM y las im plem ent aciones de los navegador es m s im por t ant es, a pesar de su capacidad de im it ar ot r os navegador es. Con WebDr iver, t uvim os que hacer una eleccin, debem os act ivar las funciones JavaScr ipt de Ht m lUnit y cor r em os el r iesgo de que los equipos que ej ecut an en pr oblem as que slo se m anifiest an all, o nos vam os JavaScr ipt deshabilit ado, sabiendo que hay m s y m s sit ios que dependen de JavaScr ipt ? Nos tomamos el enfoque conser vador, y por defect o ha deshabilit ado apoyo cuando 28/05/2013 7:39

14 de 20

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... all, o nos vam os JavaScr ipt deshabilit ado, sabiendo que hay m s y m s sit ios que dependen de JavaScr ipt ? Nos tomamos el enfoque conser vador, y por defect o ha deshabilit ado apoyo cuando usam os Ht m lUnit . Con cada lanzam ient o de am bos WebDr iver y Ht m lUnit , que r econsiderar est a decisin: esperam os t ener JavaScr ipt habilit ado de for m a pr edet er m inada en el Ht m lUnit en algn m om ent o. Habilitar JavaScript Si ust ed no puede esperar, lo que per m it e la com pat ibilidad con JavaScr ipt es m uy fcil:

HtmlUnitDriver controlador = new HtmlUnitDriver (true);

Est o har que el cont r olador Ht m lUnit em ular Fir efox 3.6 's m anipulacin JavaScr ipt por defect o.

Firefox Conductor
Cont r ola el Fir efox navegador usando un plugin de Fir efox. El per fil de Fir efox que se ut iliza es despoj ado de lo que est inst alado en el equipo para incluir slo el selenio WebDr iver.xpi ( plugin) . Unos aj ust es t am bin se cam bian por defect o ( ver la fuent e para ver cules ) Fir efox conduct or es capaz de cor r er y se ha pr obado en Windows, Mac, Linux. Act ualm ent e en las ver siones 3.6, 10, m s 1 - , los lt im os Uso

WebDriver controlador FirefoxDriver = new ();

Pros Se ej ecut a en un navegador r eal y es com pat ible con JavaScr ipt Ms r pido que el Explorador de conducir de I nt er net Contras Ms lent o que el conduct or Ht m lUnit Modificacin del perfil de Firefox Suponga que ust ed quier e m odificar la cadena de agent e de usuar io ( com o ant es) , per o ust ed t iene un per fil de Fir efox engaado que cont iene docenas de ext ensiones t iles. Hay dos m aneras de obt ener est e per fil. Suponiendo que el per fil ha sido cr eado usando gest or de per files de Fir efox (FirefoxProfileManager):

15 de 20

ProfilesIni allProfiles ProfilesIni = new (); FirefoxProfile perfil = allProfiles GetProfile ("WebDriver").;

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

ProfilesIni allProfiles ProfilesIni = new (); FirefoxProfile perfil = allProfiles GetProfile ("WebDriver").; setPreferences perfil ("foo.bar", 23).; WebDriver controlador = new FirefoxDriver (perfil);

Alt er nat ivam ent e, si el per fil no est r egist rado en Fir efox:

Archivo profileDir = new archivo ("path / to / arriba / nivel / de / FirefoxProfile perfil = new FirefoxProfile (profileDir); . perfil addAdditionalPreferences (extraPrefs); WebDriver controlador = new FirefoxDriver (perfil);

A m edida que desar r ollam os caract er st icas en el cont r olador de Fir efox , se expone la capacidad de ut ilizar los. Por ej em plo, hast a que sint am os event os nat ivos son est ables en Fir efox para Linux, que est n desact ivados por defect o. Que les per m it an:

FirefoxProfile perfil FirefoxProfile = new (); setEnableNativeEvents perfil (true).; WebDriver controlador = new FirefoxDriver (perfil);

Info Consult e la seccin de Fir efox en la pgina wiki para la m ayor a hast a la fecha infor m acin.

Internet Explorer Conductor


Est e cont r olador es cont r olado por un. DLL y es por lo t ant o slo est disponible en el sist em a operat ivo Windows. Cada ver sin selenio t iene su funcionalidad del ncleo pr obado con las ver siones 6, 7 y 8 en XP , y 9 en Windows 7. Uso

WebDriver controlador InternetExplorerDriver = new ();

Pros Se ej ecut a en un navegador r eal y sopor t a JavaScr ipt con t odas las peculiar idades que los usuar ios finales ven. Contras Obviam ent e, el Explorador de conducir de I nt er net slo funcionar en Windows! Com parat ivam ent e lent o ( aunque sigue siendo bast ant e r pido : ) XPat h no es com pat ible de for m a nat iva en la m ayor a de ver siones. Ar den se inyect a de for m a aut om t ica, que es 28/05/2013 7:39

16 de 20

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... r pido : ) XPat h no es com pat ible de for m a nat iva en la m ayor a de ver siones. Ar den se inyect a de for m a aut om t ica, que es significat ivam ent e m s lent o que ot r os navegador es y m s lent o cuando se com para a los select or es CSS en el m ism o navegador. CSS no es com pat ible de for m a nat iva en las ver siones 6 y 7. Chispor r ot eo se inyect a en su lugar. Select or es CSS en I E 8 y 9 son nat ivas, per o los navegador es no son t ot alm ent e com pat ibles con CSS3 Info Consult e la seccin de I nt er net Explor er de la pgina wiki para la m ayor a hast a la fecha infor m acin. Por favor, t om e not a especial de la seccin de configuracin necesar ias.

Chrome Conductor
Chr om e conduct or se m ant iene / apoyado por el cromo proyecto it eslf. WebDr iver funciona con Chr om e a t ravs del binar io chr om edr iver ( que se encuent ra en la pgina de descar gas del proyecto cromo). Ust ed necesit a t ener t ant o chr om edr iver y una ver sin del navegador Chr om e inst alado. chr om edr iver t iene que ser colocado en algn lugar en el cam ino de su sist em a con el fin de WebDr iver para descubr ir aut om t icam ent e. El navegador Chr om e en s es descubier t o por chr om edr iver en la r ut a de inst alacin por defecto. Est os dos pueden ser anulados por las var iables de ent or no. Por favor, consult e el wiki para m s infor m acin. Uso

WebDriver controlador ChromeDriver = new ();

Pros Se ej ecut a en un navegador r eal y es com pat ible con JavaScr ipt Por que Chr om e es un navegador basado en Webkit , el conductor Chrome puede per m it ir que ver ifique que su sit io funciona en Safar i. Tenga en cuenta que, dado que Chrome ut iliza su pr opio m ot or JavaScr ipt V8 en lugar de m ot or Nit r o de Safar i, la ej ecucin de JavaScr ipt puede ser difer ent e. Contras Ms lent o que el conduct or Ht m lUnit Info Vea nuest ra wiki para la m ayor a hast a la fecha infor m acin. Ms infor m acin se puede encont rar en la pgina de descar gas Cmo correr con Chrome Conductor Descar gue el ej ecut able del cont r olador Chr om e y siga las r est ant es indicaciones de la pgina wiki 17 de 20

Opera Conductor

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

r est ant es indicaciones de la pgina wiki

Opera Conductor
Vase el ar t culo de wiki cont r olador Opera en el Wiki de selenio para obt ener infor m acin sobr e cm o ut ilizar el cont r olador de Opera.

iPhone Conductor
Vase el ar t culo de wiki Conduct or iPhone en el Wiki de selenio para obt ener infor m acin sobr e cm o ut ilizar el cont r olador de Mac iOS.

Android Conductor
Vase el ar t culo de wiki Conduct or Andr oid en el Wiki de selenio para obt ener infor m acin sobr e cm o ut ilizar el cont r olador de Andr oid.

Alternativa back-ends: Mezcla WebDriver y RC Tecnologas


WebDriver-Backed selenio RC
La ver sin Java de WebDr iver pr opor ciona una im plem ent acin de la API de selenio- RC. Est os m edios que puede ut ilizar la t ecnologa subyacent e WebDr iver m ediant e la API de selenio- RC. Esto est pr evist o pr incipalm ent e para la com pat ibilidad con ver siones ant er ior es. Per m it e a las per sonas que han suit es de pr ueba ut ilizando el API selenio RC ut ilizar WebDr iver baj o las m ant as exist ent es. Se pr opor ciona para ayudar a facilit ar la m igracin de selenio WebDr iver. Adem s, est e per m it e ut ilizar am bas API , de lado a lado, en el m ism o cdigo de pr ueba. Selenio-WebDr iver se usa de est a m anera:

/ / Se puede usar cualquier aplicacin WebDriver. WebDriver controlador FirefoxDriver = new ();

Firefox se usa aqu

/ / A "url base", utilizada por el selenio para resolver direcciones UR Cadena baseUrl = "http://www.google.com"; / / Crear la implementacin de selenio El selenio selenio = new WebDriverBackedSelenium (conductor, baseUrl); / / Realizar acciones con selenio . selenio abierto ("http://www.google.com"); . selenio tipo ("name = q", "queso"); selenio, haga clic en ("name = btnG").;

/ / Obtenga la aplicacin WebDriver subyacente espalda. Esto se referi Misma instancia / / WebDriver como la variable "driver" arriba. WebDriver driverInstance = ((WebDriverBackedSelenium) selenio)

/ / Por ltimo, cierra el navegador. Llame a parar en la instancia Web / / En lugar de llamar driver.quit (). De lo contrario, la JVM seguir / / El navegador se ha cerrado. selenio stop ().;

18 de 20

28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
/ / El navegador se ha cerrado. selenio stop ().;

Pros Per m it e la WebDr iver y selenio API s vivir lado a lado Pr opor ciona un m ecanism o sim ple para una gest in de la m igracin de la API de RC de selenio a WebDr iver No r equier e el ser vidor independient e selenio RC que se ejecute Contras No im plem ent a t odos los m t odos Uso de selenio m s avanzada ( ut ilizando "br owser bot " u ot r os m t odos incor porados de JavaScr ipt desde Selenio Cor e) puede no funcionar Algunos m t odos pueden ser m s lent a debido a las difer encias de im plem ent acin subyacent es

Copia WebDriver con selenio


WebDr iver no sopor t a t ant os navegador es com o lo hace selenio RC, por lo que con el fin de br indar ese apoyo sin dej ar de ut ilizar la API WebDr iver, puede hacer uso de la SeleneseCommandExecutor Safar i se apoya de est a m anera con el siguient e cdigo ( asegr ese de desact ivar el bloqueo de pop- up) :

Capacidades DesiredCapabilities = new DesiredCapabilities (); capacidades setBrowserName ("safari").; WebDriver controlador = new RemoteWebDriver (albacea, capacidades);

En est e m om ent o hay algunas lim it aciones im por t ant es de est e enfoque, en par t icular el findElem ent s no funciona com o se esperaba. Adem s, debido a que est am os usando Selenio Cor e para el t rabaj o pesado de la conduccin del navegador, est lim it ado por la caj a de ar ena JavaScr ipt .

Ejecucin Standalone selenio Server para utilizarlo con RemoteDrivers


Desde la pgina de descar ga de selenio descar ga selenio- ser ver st andalone- < ver sin> . j ar y opcionalm ent e I EDr iver Ser ver. Si va a trabajar con Chrome, descargar desde Google Code . Desem bale I EDr iver Ser ver y / o chr om edr iver y poner los en un dir ect or io que est en el $ PATH / % PATH% - el ser vidor de selenio ent onces deber a ser capaz de m anej ar las pet iciones de I E / Chr om e sin m odificaciones adicionales. I nicie el ser vidor en la lnea de com andos
java-jar <path_to> / selenio-server-standalone-<versin>. jar

Si desea ut ilizar la funcionalidad nat iva de los acont ecim ient os, lo indique en la lnea de com andos con la opcin 19 de 20 28/05/2013 7:39

WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Si desea ut ilizar la funcionalidad nat iva de los acont ecim ient os, lo indique en la lnea de com andos con la opcin
-Dwebdriver.enable.native.events = 1

Par a ot ras opciones de la lnea de com andos, ej ecut e


java-jar <path_to> / selenio-server-standalone-<versin>. jar-ayuda

Par a funcionar cor r ect am ent e, los siguient es puer t os se debe per m it ir conexiones TCP ent rant es: 4444, 7054- 5 ( o dos veces t ant os puer t os com o el nm er o de inst ancias concur r ent es que piensa ej ecut ar ) . En Windows, puede que t enga que desbloquear las aplicaciones.

Recursos Adicionales
Ust ed puede encont rar m s r ecur sos para WebDr iver en wiki de WebDr iver Por supuesto, no dude en hacer una bsqueda en Internet sobre cualquier t em a selenio, incluidos los conduct or es de selenio WebDr iver. Hay un buen nm er o de blogs en selenio, j unt o con num er osos car gos en diver sos for os de usuar ios. Adem s el gr upo de usuar ios El selenio es un gran r ecur so. ht t p: / / gr oups.google.com / gr oup/ selenium - user s

Prximos Pasos
Est e capt ulo ha sido sim plem ent e un r ecor r ido de alt o nivel de WebDr iver y algunas de sus funciones clave. Una vez que se fam iliar ice con la API de selenio WebDr iver ent onces ust ed desea apr ender cm o const r uir bancos de pr uebas para m ant enim ient o, am pliacin y r educcin de la fragilidad, cuando las caract er st icas de la AUT cam bian con fr ecuencia. El enfoque de la m ayor a de los exper t os est n r ecom endando selenio es el diseo de su cdigo de pr ueba con el obj et o de pgina pat r n de diseo j unt o con un posible Pgina Factory. Selenio-WebDr iver pr opor ciona apoyo a t ravs de la pr ovisin de una clase PageFact or y en Java y C # . Esto se presenta, junto con ot r os t em as avanzados, en el prximo captulo . Tam bin, para la descr ipcin de alt o nivel de est a t cnica, es posible que desee ver en el apartado de Consideraciones de diseo de prueba . Estos dos capt ulos pr esent an las t cnicas para escr ibir m s pr uebas m ant enibles al hacer que su cdigo de pr ueba m s m odular.

20 de 20

28/05/2013 7:39

WebDriver: Uso avanzado - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Explcitos e implcitos Waits


Esperar es t ener el t ranscur so de ej ecucin de t ar eas aut om at izadas de una cier t a cant idad de t iem po ant es de cont inuar con el siguient e paso.

Explcita Waits
Una explcit a espera es cdigo que define que esperar a una det er m inada condicin que se pr oduzca ant es de seguir adelant e en el cdigo. El peor de los casos de est o es Thr ead.sleep ( ) , que est ablece la condicin para un per odo de t iem po exact o que esperar. Hay algunos m t odos de conveniencia a condicin de que le ayudar n a escr ibir cdigo que esperar slo el t iem po que sea necesar io. WebDr iver Wait en com binacin con Expect edCondit ion es una for m a en que est o se puede lograr.

WebDriver controlador FirefoxDriver = new (); conductor get ("http://somedomain/url_that_delays_loading").; WebElement myDynamicElement = (nueva WebDriverWait (conductor, . Hasta (ExpectedConditions presenceOfElementLocated (Por id

Est a espera hast a 10 segundos ant es de lanzar un Tim eout Except ion o si encuent ra el elem ent o volver en 0- 10 segundos. WebDr iver Wait por defect o llam a al Expect edCondit ion cada 500 m ilisegundos hast a que vuelve con xit o. Un exit oso r egr eso es para el t ipo Expect edCondit ion valor de r et or no es cier t o o no r et ur n null Boolean para t odos los dem s t ipos Expect edCondit ion. Est e ej em plo t am bin es funcionalm ent e equivalent e a la pr im era Wait s im plcit a ej em plo. Condiciones esperados Hay algunas condiciones com unes que con fr ecuencia vienen a t ravs de la aut om at izacin de los navegador es web. A cont inuacin se enum eran las im plem ent aciones de cada uno. Java pasa a t ener m t odos Convienence por lo que no t iene que codificar una clase Expect edCondit ion s m ism o o cr ear su pr opio paquet e de ut ilidades para ellos. Elem ent es con enlace - Se m uest ra y habilit ado.

WebDriverWait esperar = new WebDriverWait (conductor, 10); WebElement elemento = esperar hasta (ExpectedConditions elementToBeCli

1 de 5

El paquet e Expect edCondit ions ( Java ) ( Python ) ( . NET )

28/05/2013 7:39

WebDriver: Uso avanzado - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

El paquet e Expect edCondit ions ( Java ) ( Python ) ( . NET ) cont iene un conj unt o de condiciones pr edefinidas para usar con WebDr iver Wait .

Implcito Waits
Una espera im plcit o es decir WebDr iver para sondear el DOM para una cier t a cant idad de t iem po cuando se t rat a de encont rar un elem ent o o elem ent os si no est n disponibles de inm ediat o. El valor pr edet er m inado es 0. Una vez est ablecida, la espera im plcit a se est ablece para la vida de la inst ancia del obj et o WebDr iver.

WebDriver controlador FirefoxDriver = new (); conductor manejar () (tiempos de espera) implicitlyWait (10, TimeUnit conductor get ("http://somedomain/url_that_delays_loading").; WebElement myDynamicElement = conductor findElement (Por id ("myDynamic

RemoteWebDriver
Tomar una captura de pantalla

importar java.io.File; importar java.net.URL; importar org.openqa.selenium.OutputType; importar org.openqa.selenium.TakesScreenshot; org.openqa.selenium.WebDriver importacin; importar org.openqa.selenium.remote.Augmenter; org.openqa.selenium.remote.DesiredCapabilities importacin; org.openqa.selenium.remote.RemoteWebDriver importacin; Prueba public class {

myTest public void () throws Exception { WebDriver controlador = new RemoteWebDriver ( nueva URL ("http://localhost:4444/wd/hu . DesiredCapabilities firefox conductor get ("http://www.google.com").;

/ / RemoteWebDriver no implementa la clase TakesScreenshot / / Si el conductor tiene la capacidad para tomar una captura d / / Entonces Augmenter aadir los mtodos TakesScreenshot a la WebDriver augmentedDriver = new Augmenter () aumentar Archivo de pantalla = ((TakesScreenshot) augmentedDriver). getScreenshotAs (OutputType FILE.); } }

El uso de un FirefoxProfile
2 de 5 28/05/2013 7:39

WebDriver: Uso avanzado - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

El uso de un FirefoxProfile

FirefoxProfile fp = new FirefoxProfile (); / / Establecer algo en el perfil ... . DesiredCapabilities dc = DesiredCapabilities firefox (); . dc setCapability (FirefoxDriver PERFIL, fp.); WebDriver controlador = new RemoteWebDriver (dc);

Usando ChromeOptions

Opciones ChromeOptions ChromeOptions = new (); / / Configurar algunas opciones DesiredCapabilities dc = DesiredCapabilities cromo ().; . dc setCapability (ChromeOptions CAPACIDAD, opciones.); WebDriver controlador = new RemoteWebDriver (dc);

AdvancedUserInteractions
La clase de acciones ( es) le per m it e const r uir una cadena de acciones y r ealizar las. Hay m uchas com binaciones posibles para cont ar. A cont inuacin se pr esent an algunas de las int eracciones com unes que es posible que desee ut ilizar. Para obt ener una list a com plet a de las acciones, consult e la docum ent acin de la API Java C # Rub Python Las int eracciones de los usuar ios avanzados r equier en event os nat ivos est habilit ado. Aqu hay una t abla de la act ual m at r iz de sopor t e para event os nat ivos: FF10 Chrome Chrome Chrome plataforma IE6 IE7 IE8 IE9 FF3.6 + estable beta dev pera Windows XP Y Windows 7 Linux (Ubuntu) Mac OSX Mobile Device Y Y n / a Y Y Y Y Y Y Y Y Y Y Y n/a Y Y Y Y n/a ? ? ? ? ?

n/ n/ Y a a

n / n / n / n / Y [2] Y [2] Y a a a a n/ n/ n/ n/ N a a a a n/ n/ n/ n/ n/a a a a a N ? Y n/a

[1] ( 1 , 2 , 3 , 4 ) Ut ilizacin del em ulador [2] ( 1 , 2 ) con la habilit acin explcit a event os nat ivos

Browser inicio Manipulacin


Todo Los t em as que se incluir n: 3 de 5 28/05/2013 7:39

WebDriver: Uso avanzado - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Los t em as que se incluir n: gallet as de r est auracin cam biar fir efox per fil cor r er navegador es con plugins

El uso de un proxy
Internet Explorer La for m a m s fcil y r ecom endado es configurar m anualm ent e el pr oxy en el equipo que va a ej ecut ar la pr ueba. Si est o no es posible o si desea la pr ueba para funcionar con una configur acin o un pr oxy difer ent e, ent onces ust ed puede ut ilizar la siguient e t cnica que ut iliza un obj et o Capababilit ies. Est o cam bia t em poralm ent e la configuracin y la espalda los cam bia de pr oxy del sist em a a su est ado or iginal cuando haya t er m inado.

Cadena de proxy = "localhost: 8080"; org openqa selenio proxy de proxy = new org openqa selenio Proxy proxy. setHttpProxy (PROXY) . SetFtpProxy (PROXY) . SetSslProxy (PROXY); DesiredCapabilities cap = new DesiredCapabailities (); cap setCapability (CapabilityType PROXY, proxy.).; WebDriver controlador = new InternetExplorerDriver (cap);

Chrome Es bsicam ent e lo m ism o que I nt er net Explor er. Se ut iliza la m ism a configuracin en la m quina com o I E hace ( en Windows) . El Mac ut iliza el Pr efer encias del sist em a - > Configuracin de r ed. En Linux se ut iliza ( en Ubunt u) Sist em a> Pr efer encias> Pr efer encias del pr oxy de r ed ( alt er nat iva en "/ et c / envir onm ent " set ht t p_pr oxy) . Al escr ibir est as lneas no se sabe cm o configurar el pr oxy m ediant e pr ogram acin. Firefox Fir efox m ant iene su configuracin de pr oxy en un per fil. Es posible m em or izar el pr oxy en un per fil y ut ilizar esa Fir efox per fil o puede poner lo en el per fil que se cr ea sobr e la m ar cha, com o se m uest ra en el siguient e ej em plo.

Cadena de proxy = "localhost: 8080"; org openqa selenio proxy de proxy = new org openqa selenio Proxy proxy. setHttpProxy (PROXY) . SetFtpProxy (PROXY) . SetSslProxy (PROXY); DesiredCapabilities cap = new DesiredCapabailities (); cap setCapability (CapabilityType PROXY, proxy.).; WebDriver controlador = new FirefoxDriver (cap);

4 de 5

28/05/2013 7:39

WebDriver: Uso avanzado - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

cap setCapability (CapabilityType PROXY, proxy.).; WebDriver controlador = new FirefoxDriver (cap);

Opera Todo

HTML5
Todo

Paralelizacin su prueba Ejecuta


Todo

Navegacin

5 de 5

28/05/2013 7:39

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Introduccin
Com o se puede leer en la breve historia de El selenio Proyecto , selenio RC fue el pr incipal pr oyect o de selenio durant e m ucho t iem po, ant es de que el WebDr iver / selenio fusin t raj o Selenio 2, la her ram ient a m s nueva y m s pot ent e. Selenio 1 sigue apoy act ivam ent e ( sobr e t odo en el m odo de m ant enim ient o) y ofr ece algunas caract er st icas que pueden no est ar disponibles en selenio 2 por un t iem po, incluyendo sopor t e para var ios idiom as ( Java, Javascr ipt , Ruby, PHP , Pyt hon, Per l y C # ) y el apoyo para casi t odos los navegador es por ah.

Cmo funciona El selenio RC


En pr im er lugar, vam os a descr ibir cm o los com ponent es de selenio RC funcionam ient o y el papel que desem pea cada uno en el funcionam ient o de los scr ipt s de pr ueba.

Componentes RC
Com ponent es de selenio RC son: El ser vidor de selenio que se lanza y m at a a los navegador es, int er pr et a y ej ecut a los com andos Selenese pasado del pr ogram a de pr ueba, y act a com o un proxy HTTP, int er cept ando y ver ificar m ensaj es HTTP t ransm it idos ent r e el navegador y la AUT. Bibliot ecas de client e que pr opor cionan la int er faz ent r e cada lenguaj e de pr ogram acin y el ser vidor RC selenio. Aqu est un diagram a de ar quit ect ura sim plificada ....

1 de 30

28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

El diagram a m uest ra las bibliot ecas de client e se com unican con el ser vidor que pasa cada com ando selenio para su ej ecucin. A cont inuacin, el ser vidor pasa el com ando selenio al navegador m ediant e com andos de selenio de JavaScr ipt . El navegador, ut ilizando su int r pr et e de JavaScr ipt , se ej ecut a el com ando selenio. Est o ej ecut a la accin Selenese o ver ificacin que haya especificado en el scr ipt de pr ueba.

Selenio Servidor
Selenio Ser ver r ecibe com andos de selenio de su pr ogram a de pr uebas, los int er pr et a, e infor m a a su pr ogram a los r esult ados de la ej ecucin de las pr uebas. El ser vidor de paquet es Selenio Cor e RC y aut om t icam ent e se inyect a en el navegador. Est o se pr oduce cuando el pr ogram a de pr uebas se abr e el navegador ( usando una funcin API de bibliot eca de client e) . Selenio- Cor e es un pr ogram a de JavaScr ipt , en r ealidad un conj unt o de funciones de JavaScr ipt que int er pr et a y ej ecut a los com andos Selenese ut ilizando el navegador int egrado del int r pr et e de JavaScr ipt . El ser vidor r ecibe los com andos Selenese de su pr ogram a de pr uebas usando una sim ple HTTP GET / POST pet iciones. Esto significa que ust ed puede ut ilizar cualquier lenguaj e de pr ogram acin que puede enviar pet iciones HTTP par a aut om at izar las pr uebas de selenio en el navegador.

Las bibliotecas de cliente


Las bibliot ecas de client e pr opor cionan el sopor t e de pr ogram acin que le per m it e ej ecut ar com andos de selenio a par t ir de un pr ogram a de su pr opio diseo. Hay una bibliot eca de client e difer ent e para cada idiom a sopor t ado. Una bibliot eca de client e selenio pr opor ciona una int er faz de pr ogram acin ( API ) , es decir, un conj unt o de funciones, que se ej ecut an com andos de selenio a par t ir de su pr opio pr ogram a. Dent r o de cada int er faz, hay una funcin de pr ogram acin que sopor t a cada com ando Selenese. La bibliot eca de client e t iene un com ando Selenese y lo pasa al ser vidor de selenio para el pr ocesam ient o de una accin especfica o una pr ueba en cont ra de la aplicacin baj o pr ueba ( AUT) . La bibliot eca de client e t am bin r ecibe el r esult ado de ese com ando y pasa de nuevo a su programa. Su pr ogram a puede r ecibir el r esult ado y alm acenar lo en una var iable de pr ogram a e infor m ar com o un xit o o un fracaso, o, posiblem ent e, t om ar m edidas cor r ect ivas si se ha pr oducido un er r or inesperado. 2 de 30 As que para cr ear un pr ogram a de pr ueba, slo t iene que escr ibir 28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... com o un xit o o un fracaso, o, posiblem ent e, t om ar m edidas cor r ect ivas si se ha pr oducido un er r or inesperado. As que para cr ear un pr ogram a de pr ueba, slo t iene que escr ibir un pr ogram a que se ej ecut a una ser ie de com andos de selenio ut ilizando una API de la bibliot eca client e. Y , opcionalm ent e, si ya t iene un guin de pr ueba Selenese cr eado en el selenio I DE, puede generar el cdigo RC selenio. El selenio I DE puede t raducir se ( con su elem ent o de m en Expor t ) sus com andos de selenio en las llam adas a funciones API de un client e del cont r olador. Consult e el capt ulo selenio I DE para obt ener infor m acin especfica sobr e la expor t acin de cdigo RC de selenio I DE.

Instalacin
La inst alacin es m s bien un nom br e poco apr opiado para el Selenio. El selenio se ha fij ado de bibliot ecas disponibles en el lenguaj e de pr ogram acin de su eleccin. Puedes descar gar los de la pgina descargas Una vez que haya elegido un idiom a para t r abaj ar, slo hay que: I nst ale el ser vidor de RC selenio. Cr ear un pr oyect o de pr ogram acin ut ilizando un cont r olador de client e especfico del lenguaj e.

Instalacin de selenio servidor


El ser vidor RC selenio es sim plem ent e un ar chivo jar (Java selenioserver-standalone-<version-number>. Jar), que no r equier e ninguna inst alacin especial. Sim plem ent e descar ga el ar chivo zip y ext raer el ser vidor en el dir ect or io deseado es suficient e.

Ejecucin de selenio servidor


Ant es de iniciar cualquier pr ueba debe iniciar el ser vidor. Vaya al dir ect or io donde se encuent ra y ej ecut a lo siguient e en una consola de lnea de com andos del ser vidor de selenio RC. j ava- j ar selenio- ser ver - st andalone- < ver sion- num ber > . jar Est o se puede sim plificar m ediant e la cr eacin de un lot e o un ar chivo ej ecut able cscara ( . Bat en Windows y. SH en Linux) que cont iene el com ando ant er ior. A cont inuacin, hacer un acceso dir ect o al ej ecut able en el escr it or io y hacer doble clic en el icono para iniciar el ser vidor. Para el ser vidor par a que ej ecut e t endr inst alado Java y la var iable de ent or no PATH configurado cor r ect am ent e para ej ecut ar desde la consola. Puede com pr obar que t engas Java inst alado cor r ect am ent e ej ecut ando lo siguient e en una consola. j ava-ver sion Si ust ed r ecibe un nm er o de ver sin ( que t iene que ser 1.5 o post er ior ) , ya est list o para com enzar a usar el selenio RC.

Utilizando el controlador de Java Client


Descar gar selenio j ava client e zip cont r olador desde el Selenium HQ pgina de descar gas . Ext raer ar chivo selenio- j ava-ver sion- num ber. Jar

3 de 30

28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... Descar gar selenio j ava client e zip cont r olador desde el Selenium HQ pgina de descar gas . Ext raer ar chivo selenio- j ava-ver sion- num ber. Jar Abra el Java deseada I DE ( Eclipse, Net Beans, I nt elliJ, Netweaver, etc) Crear un proyecto Java. Agr egue los ar chivos j ar selenio- j ava-ver sion- num ber. Para su pr oyect o com o r efer encias. Aadir a su pr oyect o classpat h el ar chivo de selenioj ava-ver sion- num ber. Jar. De Selenio-I DE, expor t ar una secuencia de com andos en un ar chivo de Java e incluir lo en su pr oyect o Java, o escr iba su pr ueba selenio en Java ut ilizando la API de selenioj ava- client e. El API se pr esent a m s adelant e en est e capt ulo. Tam bin se puede usar JUnit o Test NG a ej ecut ar la pr ueba, o puede escr ibir su pr opio pr ogram a m ain ( ) sim ple. Estos concept os se explican m s adelant e en est a seccin. Ej ecut ar el ser vidor de selenio de la consola. Ej ecut e la pr ueba de la I DE Java o desde la lnea de comandos. Para obt ener m s infor m acin acer ca de la configuracin del pr oyect o de pr ueba Java, vea las secciones del apndice Configuracin de selenio RC con Eclipse y Configuracin de selenio RC Con IntelliJ .

Utilizando el controlador de Python Client


I nst ale selenio a t ravs de PI P , las inst r ucciones vinculadas a Selenium HQ pgina de descar gas O escr ibir su pr ueba selenio en Pyt hon o expor t ar una secuencia de com andos de selenio I DE en un ar chivo de python. Ej ecut ar el ser vidor de selenio de la consola Ej ecut ar la pr ueba desde una consola o su I DE Pyt hon Para obt ener det alles sobr e la configur acin del cont r olador de client e Pyt hon, consult e el apndice Python configuracin del controlador de cliente .

Mediante. NET Client Driver


Descar gar selenio RC del Selenium HQ pgina de descar gas Ext raer la car pet a Descar ga e inst ala NUnit ( Not a: Puede ut ilizar NUnit com o su m ot or de pr ueba Si an no est fam iliar izado con NUnit , t am bin puede escr ibir una funcin m ain ( ) fcil de ej ecut ar las pr uebas, sin em bar go NUnit es m uy t il com o un m ot or de prueba. .) Abr e t u deseado. NET ( Visual St udio, Shar pDevelop, MonoDevelop) Cr ear una bibliot eca de clases ( . Dll) Agr egue r efer encias a los siguient es DLLs: nm ock.dll, nunit .cor e.dll, NUnit . fram ewor k.dll, Thought Wor ks.Selenium .Cor e.dll, Thought Wor ks.Selenium .I nt egrat ionTest s.dll y Thought Wor ks.Selenium .Unit Test s.dll Escr iba su pr ueba de selenio en un lenguaj e net o. ( C # , 28/05/2013 7:40

4 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... Thought Wor ks.Selenium .I nt egrat ionTest s.dll y Thought Wor ks.Selenium .Unit Test s.dll Escr iba su pr ueba de selenio en un lenguaj e net o. ( C # , VB.Net ) , o expor t ar una secuencia de com andos de selenio I DE a un ar chivo de C # y copiar el cdigo en el ar chivo de clase que acaba de cr ear. Escr ibe t u) pr ogram a sencillo pr incipal ( o puede incluir NUnit en el pr oyect o para la ej ecucin de la pr ueba. Estos conceptos se explican m s adelant e en est e capt ulo. Ej ecut ar el ser vidor desde la consola de selenio Ej ecut e la pr ueba ya sea desde el I DE, desde la GUI NUnit o desde la lnea de com andos Para det alles especficos sobr e. Configur acin del cont r olador de r ed de client e de Visual St udio, consult e el apndice . configuracin del controlador de red de cliente .

Usando el Rub Client Driver


Si an no dispone de RubyGem s, inst alar lo desde RubyForge Ejecutar gem install selenio cliente En la par t e super ior de la secuencia de com andos de pr ueba, aadir requerir "selenio / cliente" Escr iba su scr ipt de pr ueba ut ilizando cualquier inst r um ent o de pr ueba Ruby ( por ej em plo, Test : : Unidad, Mini : : Pr ueba o RSpec). Ej ecut ar el ser vidor RC selenio de la consola. Ej ecut e la pr ueba de la m ism a for m a que lo har a ej ecut ar cualquier ot r o scr ipt Ruby. Para obt ener det alles sobr e la configur acin del cont r olador de client e Ruby, consult e el docum ent acin selenio- Client

Desde Selenese a un Programa


La t ar ea pr incipal para el uso de selenio RC es conver t ir t u Selenese en un lenguaj e de pr ogram acin. En est a seccin, le ofr ecem os var ios ej em plos especficos del idiom a.

Muestra de Ensayo Escritura


Com encem os con un ej em plo scr ipt de pr ueba Selenese. I m agina grabar la siguient e pr ueba con selenio I DE. abr ir t ipo clickAndWait / q btnG selenio r c

assertTextPresent * Result ados de selenio r c Not a: En est e ej em plo se t rabaj ar a con la pgina de bsqueda de Google ht t p: / / www.google.com

Selenese como programacin Code


Aqu se expor t e el scr ipt de pr ueba ( a t ravs de selenio I DE) para cada uno de los lenguaj es de pr ogram acin sopor t ados. Si ust ed t iene al m enos conocim ient os bsicos de un lenguaj e de pr ogram acin or ient ado a obj et os, ust ed ent ender cm o selenio ej ecut a com andos Selenese m ediant e la lect ura de uno de est os ej em plos. Para ver un ej em plo de un idiom a especfico, seleccione 28/05/2013 7:40 uno de estos botones.

5 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

ej ecut a com andos Selenese m ediant e la lect ura de uno de est os ej em plos. Para ver un ej em plo de un idiom a especfico, seleccione uno de estos botones.

/ ** Aadir JUnit marco de la ruta de clases si no est ya all * Para que funcione este ejemplo * / paquete com ejemplo pruebas..; importar com.thoughtworks.selenium *.; importar java.util.regex.Pattern; public class extends NewTest SeleneseTestCase { setUp public void () throws Exception { configuracin ("http://www.google.com/", "* firefox"); } testNew public void () throws Exception { . selenio abierto ("/"); . selenio tipo ("q", "selenio rc"); selenio, haga clic en ("btnG").; . selenio waitForPageToLoad ("30000"); assertTrue (selenio isTextPresent ("* Resultados de selenio } }

En la siguient e seccin vam os a explicar cm o cr ear un pr ogram a de pr ueba ut ilizando el cdigo generado.

Programacin de su Prueba
Ahora vam os a ilust rar cm o pr ogram ar sus pr opias pr uebas con ej em plos en cada uno de los lenguaj es de pr ogram acin sopor t ados. Fundam ent alm ent e, hay dos t ar eas: Generar secuencia de com andos en un lenguaj e de pr ogram acin de selenio I DE, m odificar opcionalm ent e el r esult ado. Escr iba un pr ogram a pr incipal m uy sim ple que se ej ecut a el cdigo generado. Opcionalm ent e, se puede adopt ar una plat afor m a de m ot or de pr uebas com o JUnit o Test NG para Java, o NUnit para. NET si usa uno de est os idiom as. Aqu, m ost ram os ej em plos especficos del idiom a. Las API s especficos del lenguaj e t ienden a difer ir de uno a ot r o, por lo que se puede encont rar una explicacin difer ent e para cada uno. Java C# Pit n Rub Per l, PHP

Java
6 de 30 En Java, la gent e usa ya sea JUnit o Test NG com o el m ot or de prueba. Algunos ent or nos de desar r ollo com o Eclipse t ienen el apoyo 28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Java
En Java, la gent e usa ya sea JUnit o Test NG com o el m ot or de prueba. Algunos ent or nos de desar r ollo com o Eclipse t ienen el apoyo dir ect o a est os a t ravs de plug- ins. Esto hace que sea an ms fcil. Enseanza JUnit o Test NG est m s all del alcance de est e docum ent o, sin em bar go, los m at er iales se pueden encont rar en lnea y hay publicaciones disponibles. Si ust ed ya es un pr obable "j ava- shop" son los desar r ollador es ya t ienen alguna exper iencia con uno de estos marcos de pruebas. Es pr obable que desee cam biar el nom br e de la clase de pr ueba de "NewTest " a algo de su pr opia eleccin. Adems, usted tendr que cam biar los par m et r os en el navegador abier t o en la declaracin:
selenio = new DefaultSelenium ("localhost", 4444, "* iehta",

El cdigo generado Selenio- I DE se ver as. En est e ej em plo se ha aadido com ent ar ios m anualm ent e para m ayor clar idad.

paquete com ejemplo pruebas..; / / Se especifica el paquete de nuestras pruebas

importar com.thoughtworks.selenium *.; / / Esta es la importacin del conductor. Vamos a usar esto para crear / / Navegador y lo que es hacer lo que necesita.

importar java.util.regex.Pattern; / / Selenio IDE aadir el mdulo del patrn, ya que a veces se utiliza / / Validaciones de expresiones regulares. Se puede quitar el mdulo s / / Script. public class extends NewTest SeleneseTestCase { / / Creamos nuestro caso de prueba selenio setUp public void () throws Exception { configuracin ("http://www.google.com/", "* firefox"); / / Creamos una instancia e iniciar el explorador } testNew public void () throws Exception { . selenio abierto ("/"); . selenio tipo ("q", "selenio rc"); selenio, haga clic en ("btnG").; . selenio waitForPageToLoad ("30000"); assertTrue (selenio isTextPresent ("* Resultados de selenio / / Estos son los pasos de prueba reales } }

C#
El. NET Client Dr iver t rabaj a con Micr osoft .NET. Se puede ut ilizar con cualquier fram ewor k de pr uebas. NET com o NUnit o St udio 2005 Team System. Selenio I DE asum e que va a ut ilizar NUnit com o su m ar co de pruebas. Est o se puede ver en el cdigo generado a cont inuacin. Se incluye la instruccin using para NUnit j unt o con at r ibut os cor r espondient es NUnit ident ificacin de la funcin para cada funcin m iem br o de la clase de pr ueba. 28/05/2013 7:40

7 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... incluye la instruccin using para NUnit j unt o con at r ibut os cor r espondient es NUnit ident ificacin de la funcin para cada funcin m iem br o de la clase de pr ueba. Es pr obable que t enga que cam biar el nom br e de la clase de pr ueba de "NewTest " a algo de su pr opia eleccin. Adems, usted tendr que cam biar los par m et r os en el navegador abier t o en la declaracin:
selenio = new DefaultSelenium ("localhost", 4444, "* iehta",

El cdigo generado ser sim ilar a est a.

Puede per m it ir NUnit para gest ionar la ej ecucin de las pr uebas. O bien, puede escr ibir una sim ple m ain ( ) del pr ogram a que cr ea una inst ancia del obj et o de pr ueba y se ej ecut a cada uno de los t r es mtodos, SetupTest (), TheNewTest (), y TeardownTest (), a su vez.

Python
PyUnit es el m ar co de pr uebas a ut ilizar para Pyt hon. Para aprender PyUnit consult e su documentacin oficial < http://docs.python.org / librar y/ unit t est .ht m l > _. La est r uct ura de la pr ueba bsica es:

Rub
Selenio I DE genera Rub razonables, sino que r equier e la viej a j oya selenio. Est e es un pr oblem a debido a que el pilot o oficial Rub para el Selenio es la j oya selenio- client e, no la ant igua j oya selenio. De hecho, el selenio j oya ya no es an baj o desar r ollo act ivo. Por lo t ant o, es aconsej able para act ualizar las secuencias de com andos de Ruby generados por el I DE de la siguient e m anera: 1. En la lnea 1, cam bie requerir "selenio" exigir "el selenio /
cliente"

2. En la lnea 11, cam bie Selenio :: SeleniumDriver.new de selenio


:: Client :: Driver.new

Es pr obable que t am bin desee cam biar el nom br e de la clase a algo m s infor m at ivo que "Sin t t ulo", y cam biar el nom br e del m t odo de ensayo para algo que no sea "t est _unt it led." Aqu es un ej em plo sim ple cr eado m ediant e la m odificacin del cdigo Ruby gener ada por Selenio I DE, com o se descr ibi ant er ior m ent e.

Perl, PHP
Los m iem br os del equipo de docum ent acin no han ut ilizado selenio RC con Per l o PHP . Si est ut ilizando selenio RC con cualquiera de est os dos idiom as, por favor pngase en cont act o con el equipo de docum ent acin ( ver el capt ulo de cont r ibuyent e) . Nos gust ar a incluir algunos ej em plos de que ust ed y sus exper iencias, para 28/05/2013 7:40 apoyar a los usuar ios de Per l y PHP .

8 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... est os dos idiom as, por favor pngase en cont act o con el equipo de docum ent acin ( ver el capt ulo de cont r ibuyent e) . Nos gust ar a incluir algunos ej em plos de que ust ed y sus exper iencias, para apoyar a los usuar ios de Per l y PHP .

El aprendizaje de la API
El API RC selenio ut iliza las convenciones de nom br es que, suponiendo que ust ed ent iende Selenese, gran par t e de la int er faz ser aut o- explicat ivo. Aqu, sin em bar go, se explican los aspect os m s cr t icos y, posiblem ent e, m enos obvio.

Inicio del navegador

configuracin ("http://www.google.com/", "* firefox");

Cada uno de est os ej em plos se abr e el navegador y r epr esent a que el navegador m ediant e la asignacin de una "inst ancia de navegador " a una var iable de pr ogram a. Est a var iable de pr ogram a se ut iliza para llam ar a los m t odos desde el navegador. Estos m t odos se ej ecut an los com andos de selenio, es decir, al igual que los com andos de verificacin se abierto o tipo o. Los par m et r os necesar ios al cr ear la inst ancia del navegador son: anfitrin Especifica la dir eccin I P del equipo donde se encuent ra el ser vidor. Por lo general, est e es el m ism o equipo que el client e se est ej ecut ando, por lo que en est e caso se pasa a localhost. En algunos pacient es se t rat a de un par m et r o opcional. puerto Especifica el socket TCP / I P en el que el ser vidor est a la escucha de espera para el client e para est ablecer una conexin. Esto t am bin es opcional en algunos cont r olador es de client e. navegador El navegador en el que desea ej ecut ar las pr uebas. Este es un par m et r o necesar io. url La ur l base de la aplicacin en pr uebas. Est o es r equer ido por t odas las libr er as de client e y es una infor m acin int egral para la puest a en m ar cha de la com unicacin en el navegador pr oxy-AUT. Tenga en cuent a que algunas de las bibliot ecas de client e r equier e que el navegador se inicie explcit am ent e llam ando a su m t odo start ().

Ejecucin de comandos
Una vez que t enga el navegador inicializado y asignado a una var iable ( generalm ent e llam ado "selenio") , puede hacer que se ej ecut e com andos Selenese llam ando a los r espect ivos m t odos de la var iable navegador. Por ej em plo, para llam ar al m t odo de tipo de obj et o de selenio: selenium .t ype ( "field- id", "cadena a escr ibir ") 9 de 30 28/05/2013 7:40 En el fondo el navegador en r ealidad llevar a cabo una operacin de

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

selenium .t ype ( "field- id", "cadena a escr ibir ") En el fondo el navegador en r ealidad llevar a cabo una operacin de tipo esencialm ent e idnt ica a una int r oduccin de dat os del usuar io en el navegador, ut ilizando el localizador y la cadena que se especific durant e la llam ada al m t odo.

Informe de los Resultados


El selenio RC no t iene su pr opio m ecanism o para infor m ar de los r esult ados. Ms bien, se per m it e que ust ed const r uya su infor m acin adapt ada a sus necesidades ut ilizando caract er st icas de su lenguaj e de pr ogram acin elegido. Eso est m uy bien, per o lo que si ust ed sim plem ent e quier e algo r pido, que ya ha hecho por t i? A menudo, una bibliot eca exist ent e o m ar co de pr uebas pueden sat isfacer sus necesidades m s r pido que el desar r ollo de su pr opio cdigo de reporte de prueba.

Prueba Reporting Framework Herramientas


Mar cos de pr ueba est n disponibles para m uchos lenguaj es de pr ogram acin. Est os, j unt o con su funcin pr incipal de pr opor cionar un m ot or de pr ueba flexibles para la ej ecucin de las pr uebas, incluyen cdigo de la bibliot eca para infor m ar de los r esult ados. Por ej em plo, Java t iene dos m ar cos de pr uebas de uso com n, JUnit y Test NG. . NET t am bin t iene su pr opio, NUnit . No vam os a ensear a los pr opios m ar cos de aqu, eso es m s all del alcance de est a gua. Nos lim it ar em os a int r oducir las funciones del m ar co que se r elacionan con selenio, j unt o con algunas de las t cnicas que se pueden aplicar. Hay buenos libr os disponibles en est os m ar cos de pr ueba sin em bar go, j unt o con la infor m acin en el Internet.

Informe de prueba Bibliotecas


Tam bin est n disponibles las bibliot ecas de t er cer os cr eadas especficam ent e para infor m ar de los r esult ados de pr uebas en el lenguaj e de pr ogram acin elegido. Estos a menudo soportan una gran var iedad de for m at os, com o HTML o PDF.

Cul es el mejor enfoque?


La m ayor a de la gent e nueva a los m ar cos de las pr uebas se iniciar n con el m ar co de una funcin de generacin de infor m es. De all la m ayor par t e exam inar las bibliot ecas disponibles ya que es m enos t iem po que el desar r ollo de su pr opia. Al com enzar a usar Selenio sin duda va a em pezar a poner en sus pr opias "declaraciones de im pr esin" para infor m ar sobr e el pr ogr eso. Eso puede conducir gradualm ent e a que el desar r ollo de su pr opia infor m acin, posiblem ent e en paralelo con el uso de una bibliot eca o fram ewor k de pr uebas. De t odos m odos, despus de la, cur va de apr endizaj e inicial, per o de cor t a nat uralm ent e desar r ollar s lo que funciona m ej or para su pr opia sit uacin.

Prueba Reporting Ejemplos


Para ilust rar, le dir igim os a algunas her ram ient as especficas en algunos de los ot r os idiom as sopor t ados por selenio. Las que se m uest ran aqu son de uso com n y se han ut ilizado am pliam ent e ( y por lo t ant o se r ecom ienda) por los aut or es de est a gua. 10 de 30 Informes de pruebas en Java 28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

por lo t ant o se r ecom ienda) por los aut or es de est a gua. Informes de pruebas en Java Si en los casos de pr ueba de selenio ut ilizando JUnit JUnit ent onces I nfor m e se puede ut ilizar para generar infor m es de las pr uebas. Consult e JUnit infor m e para m s det alles. Si en los casos de pr ueba de selenio ut ilizando Test NG no se r equier e ninguna t ar ea ext er na para generar infor m es de las pr uebas. El m ar co Test NG genera un infor m e HTML que list an los det alles de las pr uebas. Ver TestNG Informe para ms. Repor t NG es un r epor t e HTML plug- in para el m ar co Test NG. Se pr et ende que sea un r eem plazo para el infor m e HTML TestNG defecto. Repor t NG pr opor ciona una visin sim ple, con cdigo de color de los r esult ados de las pr uebas. Ver ReportNG ms. Tam bin, para un infor m e de snt esis m uy agradable t rat ar con Test NG-xslt . Un infor m e Test NG-xslt ve as.

Ver Test NG-xslt ms. Registro de los Comandos Selenese Regist r o de selenio se puede ut ilizar para generar un infor m e de t odos los com andos Selenese en su pr ueba a lo lar go con el xit o o el fracaso de cada uno. Regist r o de selenio se ext iende el cont r olador de client e Java para agr egar est a capacidad de r egist r o Selenese. Consult e Regist r o de selenio . Informes de pruebas de Python Al ut ilizar Pyt hon Client Dr iver ent onces HTMLTest Runner se puede ut ilizar para generar un infor m e de pr ueba. Ver HTMLTestRunner . Informes de pruebas para Ruby Si m ar co RSpec se ut iliza para escr ibir los casos de pr ueba de selenio en Ruby ent onces su infor m e HTML se puede ut ilizar para generar un infor m e de ensayo. Consult e el Informe RSpec para ms. Nota 11 de 30 28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Nota Si ust ed est int er esado en un lenguaj e de r egist r o independient e de lo que est pasando, eche un vist azo a selenio ser vidor de r egist r o

Agregando un poco de sabor a tu Pruebas


Ahora vam os a llegar a t oda la razn par a el uso de selenio RC, aadir lgica de pr ogram acin para las pr uebas. Es el m ism o que para cualquier pr ogram a. El fluj o del pr ogram a se cont r ola m ediant e inst r ucciones de condicin y de it eracin. Adem s, puede r epor t ar la infor m acin de pr ogr eso con I / O. En est a seccin vam os a m ost rar algunos ej em plos de cm o las const r ucciones del lenguaj e de pr ogram acin pueden ser com binados con selenio para r esolver los pr oblem as com unes de ensayo. Va a encont rar a m edida que la t ransicin de las pr uebas sim ples de la exist encia de elem ent os de la pgina a las pr uebas de funcionalidad dinm ica que involucran a m lt iples pginas web y las var iables de dat os que se r equier en lgica de pr ogram acin para la ver ificacin de los r esult ados esperados. Bsicam ent e, el selenio I DE no adm it e la it eracin y sent encias de condicin est ndar. Usted puede hacer algunas enfer m edades m ediant e la incor poracin de j avascr ipt en par m et r os Selenese, sin em bar go it eracin es im posible, y la m ayor a de las condiciones ser m ucho m s fcil en un lenguaj e de pr ogram acin. Adem s, es posible que t enga el cont r ol de excepciones para la r ecuperacin de er r or es. Por estas y otras razones, hemos escr it o est a seccin para ilust rar el uso de t cnicas de pr ogram acin com unes para dar le m ayor "poder de ver ificacin" en su pr ueba aut om at izada. Los ej em plos de est a seccin est n escr it os en C # y Java, aunque el cdigo es sim ple y se puede adapt ar fcilm ent e a los dem s idiom as soportados. Si ust ed t iene algunos conocim ient os bsicos de un lenguaj e de pr ogram acin or ient ado a obj et os que no deber a t ener dificult ades para ent ender est a seccin.

Iteracin
La it eracin es una de las cosas m s com unes que t ienen que hacer en sus pruebas. Por ej em plo, es posible que desee para ej ecut ar una bsqueda en m lt iples ocasiones. O, t al vez para la ver ificacin de los r esult ados de las pr uebas que necesit a para pr ocesar un "conj unt o de r esult ados" de r egr esar de una base de dat os. Ut ilizando el m ism o ej em plo de bsqueda de Google que usamos ant es, vam os a ver los r esult ados de la bsqueda de selenio. Esta pr ueba podr a usar el Selenese: abr ir t ipo clickAndWait t ipo clickAndWait 12 de 30 / q btnG q btnG 28/05/2013 7:40 Selenium IDE selenio r c

assertTextPresent * Result ados de selenio r c

assertTextPresent * Result ados de selenio ide

1 selenio (selenio RC) - Selenio Documentacin clickAndWait t ipo clickAndWait

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... btnG q btnG selenio gr id

assertTextPresent * Result ados de selenio ide

assertTextPresent * Result ados de selenio gr id El cdigo se ha r epet ido para ej ecut ar los m ism os pasos 3 veces. Per o var ias copias del m ism o cdigo no es una buena pr ct ica el programa, porque es ms trabajo para mantener. Mediant e el uso de un lenguaj e de pr ogram acin, podem os it erar sobr e los r esult ados de la bsqueda de una solucin m s flexible y fcil de m ant ener. En C #:
/ / Recogida de valores de cadena. String [] arr = {"ide", "rc", "grid"}; / / Ejecutar el bucle para cada cadena en array 'arr. foreach (String s en arr) { . sel abierto ("/"); . sel tipo ("q", "selenio" + s); sel haga clic en ("btnG").; . sel waitForPageToLoad ("30000"); assertTrue ("text esperado:". "que falta en la pgina" + s , Sel isTextPresent ("* Resultados de selenio" + s)).; }

Condicin declaraciones
Para ilust rar el uso de las condiciones en las pr uebas que vam os a em pezar con un ej em plo. Un pr oblem a com n encont rado durant e la ej ecucin de las pr uebas de Selenium se pr oduce cuando un elem ent o esperado no est disponible en la pgina. Por ej em plo, cuando se ej ecut a la siguient e lnea:

. selenio tipo ("q", "selenio" + s);

Si el elem ent o 'q' no est en la pgina, ent onces se pr oduce una excepcin:

... com ThoughtWorks selenio SeleniumException: ERROR: Element q no en

Est o puede hacer que la pr ueba para abor t ar. Para algunas pr uebas de que es lo que quier es. Per o m uchas veces est o no es deseable, ya que su scr ipt de pr ueba t iene m uchas ot ras pr uebas post er ior es a r ealizar. Un m ej or enfoque es el de validar en pr im er lugar si el elem ent o est r ealm ent e pr esent e y luego t om ar alt er nat ivas cuando no lo es. Veamos esto con Java.

13 de 30

/ / Si el elemento est disponible en la pgina a continuacin, realiz if (selenio. isElementPresent ("q")) { . selenio tipo ("q", "El selenio rc"); 28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

/ / Si el elemento est disponible en la pgina a continuacin, realiz if (selenio. isElementPresent ("q")) { . selenio tipo ("q", "El selenio rc"); } Else { Sistema a printf.. ("Elemento:" + q + ". No est disponible en la }

La vent aj a de est e enfoque es cont inuar con la ej ecucin de la pr ueba, incluso si algunos de los elem ent os de int er faz de usuar io no est n disponibles en la pgina.

Ejecutando JavaScript de su prueba


JavaScr ipt es m uy pr ct ico en el ej er cicio de una aplicacin que no es com pat ible dir ect am ent e con el selenio. El m t odo de la API getEval selenio se puede ut ilizar para ej ecut ar JavaScr ipt de selenio RC. Consider e una aplicacin que t iene casillas de ver ificacin sin ident ificador es est t icos. En est e caso se podr a evaluar JavaScr ipt de selenio RC para obt ener los ident ificador es de t odas las casillas de ver ificacin y luego ej er cer los.

public static String [] getAllCheckboxIds () { Cadena script = "var inputId = new Array ();" / / Crear ma escritura + = "var cnt = 0;" / / Contador para comprobar i escritura + = "InputFields var = new Array ();" / / Crear escritura + = "InputFields = window.document.getElementsBy escritura + = "for (var i = 0; i <inputFields.length, i + escritura + = "if (InputFields [i]. id! = null" + "&& InputFields [i]. Id! = 'Indefinido'" + "&& InputFields [i] getAttribute (" tipo ") == 'checkbox') escritura + = "inputId [cnt] = InputFields [i] id;." "Cnt + +;" + / / incrementar el contador. "}" + / / Fin de if. "}"; / / Fin de para. escritura + = "inputId.toString ();" / / Convertir array p .. String [] checkboxIds = selenio getEval (guin) volver checkboxIds; }

Para cont ar el nm er o de im genes en una pgina:

. selenio getEval ("window.document.images.length;");

Recuer de usar obj et o de vent ana en caso de expr esiones DOM com o por la vent ana selenio defect o se r efier e, no a la vent ana de pr ueba.

Opciones del servidor


Cuando se inicia el ser vidor, las opciones de lnea de com andos se puede ut ilizar para cam biar el com por t am ient o del ser vidor pr edet er m inado. Recor dem os, el ser vidor se inicia ej ecut ando el siguient e.
$ Java-jar selenio-server-standalone-<version-number>. Jar

14 de 30

28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

$ Java-jar selenio-server-standalone-<version-number>. Jar

Par a ver la list a de opciones, ej ecut ar el ser vidor con la opcin-h.


$ Java-jar selenio-server-standalone-<version-number>. Jar-h

Ust ed ver una list a de t odas las opciones que puede ut ilizar con el ser vidor y una br eve descr ipcin de cada uno. Las descr ipciones que se pr opor cionan no siem pr e son suficient es, por lo que le ofr ecem os explicaciones para algunas de las opciones m s im por t ant es.

Configuracin de proxy
Si su AUT est det r s de un pr oxy HTTP que r equier e aut ent icacin, ent onces ust ed debe configurar ht t p.pr oxyHost , ht t p.pr oxyPor t , ht t p.pr oxyUser y ht t p.pr oxyPasswor d m ediant e el siguient e comando.

$ Java-jar selenio-server-standalone-<version-number>. Jar-Dhttp.proxy

Modo Multi-Window
Si est ut ilizando Selenio 1,0 pr obablem ent e puede om it ir est a seccin, ya que el m odo m ult ivent ana es el com por t am ient o pr edet er m inado. Sin em bar go, ant es de la ver sin 1.0, selenio por defect o cor r i la aplicacin baj o pr ueba en un sub- bast idor com o se muestra.

15 de 30

28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Algunas aplicaciones no funcionan cor r ect am ent e en un sub- bast idor, y t enan que ser car gados en el m ar co super ior de la ventana. La opcin del m odo m ult i-vent ana per m it e la AUT se ej ecut e en una vent ana separada y no en el m ar co pr edet er m inado en el que se podr a t ener el m ar co super ior se r equier e.

Para ver siones ant er ior es de selenio debe especificar el m odo m ult ivent ana explcit am ent e con la siguient e opcin:
-Multiventana

A par t ir de selenio RC 1.0, si desea ej ecut ar la pr ueba en un m ar co nico ( es decir, ut ilizando el est ndar para ver siones ant er ior es de selenio) puede indicar est o al ser vidor selenio ut ilizando la opcin
-Singlewindow

Especificacin del Firefox Perfil


Fir efox no se ej ecut ar dos casos sim ult neam ent e a m enos que especifique un per fil dist int o para cada inst ancia. El selenio RC 1.0 y m s t ar de se ej ecut a en un per fil independient e de for m a aut om t ica, por lo que si ust ed est ut ilizando Selenio 1,0, 28/05/2013 7:40

16 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... especifique un per fil dist int o para cada inst ancia. El selenio RC 1.0 y m s t ar de se ej ecut a en un per fil independient e de for m a aut om t ica, por lo que si ust ed est ut ilizando Selenio 1,0, pr obablem ent e pueda salt ar se est a seccin. Sin em bar go, si ust ed est ut ilizando una ver sin ant er ior de selenio o si ust ed necesit a ut ilizar un per fil especfico para las pr uebas ( por ej em plo, agr egar un cer t ificado ht t ps o t ener algunos addons inst alados) , t endr que especificar explcit am ent e el per fil. En pr im er lugar, cr ear un per fil de Fir efox por separ ado, siga est e pr ocedim ient o. Abra el m en I nicio de Windows, seleccione "Ej ecut ar ", escr iba y escr iba uno de los siguient es:
firefox.exe-profilemanager firefox.exe-P

Cr ee el nuevo per fil ut ilizando el cuadr o de dilogo. Luego, cuando se ej ecut a selenio Ser ver, dilo a ut ilizar est e nuevo per fil de Fir efox con el ser vidor de lnea de com andos opcin firefoxProfileTemplate y especifique la r ut a de acceso al per fil con el nom br e del ar chivo y la r ut a del dir ect or io.
-FirefoxProfileTemplate "ruta de acceso al perfil"

Adver t encia Asegr ese de poner su per fil en una car pet a separada del defect o! La her ram ient a de gest or de per files de Fir efox, se elim inar n t odos los ar chivos en una car pet a si se elim ina un per fil, independient em ent e de si son ar chivos de per fil o no. Ms infor m acin sobr e los per files de Fir efox se encuent ra en la Base de Conocim ient o de Mozilla

Ejecutar Selenese directamente dentro del servidor mediantehtmlSuite


Puede ej ecut ar ar chivos ht m l Selenese dir ect am ent e en el ser vidor de selenio al pasar el ar chivo ht m l en la lnea de com andos del ser vidor. Por ej em plo:

java-jar selenio-server-standalone-<version-number>. jar-htmlSuite "Http://www.google.com", "c: \ absoluta \ path \ to \ mi \ HTMLSuite.ht "C: \ absoluta \ path \ to \ mi \ results.html"

Est o lanzar aut om t icam ent e su suit e HTML, ej ecut e t odas las pr uebas y guar dar un infor m e HTML agradable con los r esult ados. Nota Cuando se ut iliza est a opcin, el ser vidor com enzar las pr uebas y esperar a que un nm er o de segundos especificado para la pr ueba para com plet ar, si la pr ueba no se com plet a dent r o de ese per odo de t iem po, el com ando se sale con un cdigo de salida dist int o de cer o y se generar ningn ar chivo de r esult ados. Est a lnea de com andos es m uy lar go, as que t en cuidado cuando se escr ibe. Tenga en cuent a est o r equier e que ust ed pase en una suit e de Selenese HTML, ni una sola pr ueba. Tam bin t enga en cuent a la opcin- ht m lSuit e es incom pat ible con interactivo No puede 28/05/2013 7:40

17 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... escr ibe. Tenga en cuent a est o r equier e que ust ed pase en una suit e de Selenese HTML, ni una sola pr ueba. Tam bin t enga en cuent a la opcin- ht m lSuit e es incom pat ible con interactivo No puede ej ecut ar dos cosas al m ism o t iem po.

El selenio servidor de registro


Del lado del servidor Logs Al poner en m ar cha el ser vidor de selenio-registro de opcin se puede ut ilizar para gr abar valiosa infor m acin de depuracin r epor t ado por el ser vidor de selenio a un ar chivo de t ext o.

java-jar selenio-server-standalone-<version-number>. selenium.log jar

Est e ar chivo de r egist r o m s det allado de los r egist r os de la consola est ndar ( que incluye el nivel de depuracin de r egist r o mensajes). El ar chivo de r egist r o t am bin incluye el nom br e del r egist rador, y el nm er o de ident ificacin del subpr oceso que r egist ra el m ensaj e. Por ej em plo:

20:44:25 DEBUG [12] org.openqa.selenium.server.SeleniumDriverResource Browser 465828 /: top frame1 publicado START NEW

El for m at o del m ensaj e es


TIMESTAMP (HH: mm: ss) LEVEL [hilo] LOGGER - MENSAJE

Est e m ensaj e puede ser de var ias lneas. Browser-Side Registros JavaScr ipt del lado del navegador ( Selenio Cor e) t am bin r egist ra los m ensaj es im por t ant es, en m uchos casos, est os pueden ser m s t iles para el usuar io final de los r egist r os r egular es de selenio Server. Para t ener acceso a los r egist r os del explorador del lado, pasar la browserSideLog ar gum ent o al ser vidor selenio.

java-jar selenio-server-standalone-<version-number>. jar-browserSideL

-BrowserSideLog debe com binar se con el argumento de registro, para r egist rar br owser SideLogs ( al igual que el r est o de m ensaj es de nivel de depuracin de r egist r o) en un ar chivo.

Especificacin de la va de un navegador especfico


Puede especificar que el selenio RC un cam ino a un navegador especfico. Est o es t il si t ienes difer ent es ver siones del m ism o navegador y desea ut ilizar una especfica. Adem s, est o se ut iliza para per m it ir que las pr uebas se ej ecut en en cont ra de un navegador no sopor t ado dir ect am ent e por Selenio RC. Al especificar el m odo de ej ecucin, ut ilice el * Cust om especificador seguido de la r ut a com plet a al ej ecut able del navegador :
* Encargo <ruta a Browser>

El selenio RC Arquitectura
Nota En est e t em a se t rat a de explicar la aplicacin t cnica det r s de selenio RC. No es fundam ent al para un usuar io de selenio para saber est o, per o podr a ser t il par a com pr ender algunos de los pr oblem as28/05/2013 7:40

18 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

En est e t em a se t rat a de explicar la aplicacin t cnica det r s de selenio RC. No es fundam ent al para un usuar io de selenio para saber est o, per o podr a ser t il par a com pr ender algunos de los pr oblem as que puede encont rar en el fut ur o. Par a ent ender en det alle cm o funciona el selenio RC Ser ver y por qu ut iliza la inyeccin pr oxy y m odos de pr ivilegios aum ent ados pr im er o hay que entender la polt ica del m ism o or igen .

La misma directiva Origen


La pr incipal r est r iccin que enfr ent a El selenio es la polt ica del m ism o or igen. Est a r est r iccin de segur idad es aplicada por t odos los navegador es en el m er cado y su obj et ivo es asegurar que el cont enido de un sit io no ser accesible por un scr ipt de ot r o sit io. La polt ica del m ism o or igen dict a que cualquier cdigo car gado en el navegador slo puede operar dent r o del dom inio de ese sit io web. No puede r ealizar funciones en ot r o sit io web. As, por ej em plo, si se car ga el navegador de cdigo JavaScr ipt cuando car ga www.m ysit e.com , no puede ej ecut ar el cdigo car gado cont ra www.m ysit e2.com - aunque esa es ot ra de sus sit ios. Si est o fuer a posible, un guin colocado en cualquier sit io web que abra ser a capaz de leer infor m acin sobr e su cuent a bancar ia si t uvieras la pgina de la cuent a abier t a en ot ra pest aa. Esto se conoce como XSS ( Cr oss- sit e Scr ipt ing) . Para t rabaj ar dent r o de est a polt ica, Selenio- Cor e ( y sus com andos JavaScr ipt que hacen t oda la m agia suceda) debe ser colocado en el m ism o or igen que la solicit ud en vir t ud de pr ueba ( m ism a dir eccin) . Hist r icam ent e, Selenio- Cor e fue lim it ado por est e pr oblem a, ya que se llev a cabo en JavaScr ipt . El selenio RC no es, sin em bar go, lim it ado por la polt ica del m ism o or igen. Su uso del Ser vidor de selenio com o un pr oxy evit a est e pr oblem a. Es, en esencia, le dice al navegador que el navegador est t rabaj ando en un nico sit io web "falso" que el ser vidor ofr ece. Nota Puede encont rar infor m acin adicional sobr e est e t em a en las pginas de Wikipedia sobr e Polt ica m ism o or igen y XSS .

Inyeccin Proxy
La pr im era selenio m t odo ut ilizado para evit ar la polt ica del m ism o or igen era I nyeccin Pr oxy. En el m odo de inyeccin de Pr oxy, el ser vidor de selenio act a com o un client e configurado [1] Proxy HTTP [2] , que se encuent ra ent r e el navegador y la aplicacin en pruebas. A cont inuacin, ocult a la AUT baj o una URL fict icia ( incr ust acin de selenio- Cor e y el conj unt o de pr uebas y la ent r ega de ellos com o si vinieran del m ism o or igen) . [1] El poder es una t er cera per sona en el m edio que pasa el baln ent r e las dos par t es. Act a com o un "ser vidor web" que ofr ece la AUT en el navegador. Ser un pr oxy da selenio ser vidor la capacidad de "m ent ir " acer ca URL r eal de la AUT. [2] El navegador se inicia con un per fil de configur acin que ha est ablecido localhost : 4444 com o el pr oxy HTTP , es por eso que cualquier pet icin HTTP que el navegador no pasar a t ravs del ser vidor de selenio y la r espuest a va a pasar a t ravs de l y no 28/05/2013 7:40 del ser vidor r eal.

19 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com /translate_c?depth=1&hl=es&rurl=t...

cualquier pet icin HTTP que el navegador no pasar a t ravs del ser vidor de selenio y la r espuest a va a pasar a t ravs de l y no del ser vidor r eal. Aqu es un diagram a ar quit ect nico.

Com o un conj unt o de pr uebas com ienza en su idiom a pr efer ido, ocur r e lo siguient e: 1. El client e / cont r olador est ablece una conexin con el ser vidor de selenio- RC. 2. Ser vidor RC selenio lanza un navegador ( o r eut iliza una viej a) con una URL que inyect a JavaScr ipt de selenio- Cor e en la pgina web en el navegador car gado. 3. El cont r olador de client e- pasa un com ando Selenese al ser vidor. 28/05/2013 7:40

20 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... pgina web en el navegador car gado. 3. El cont r olador de client e- pasa un com ando Selenese al ser vidor. 4. El ser vidor int er pr et a el com ando y luego act iva la cor r espondient e ej ecucin de JavaScr ipt para ej ecut ar ese com ando en el navegador. Selenio- Cor e indica al navegador que act uar en esa pr im era inst r uccin, por lo general la aper t ura de una pgina de la AUT. 5. El navegador r ecibe la solicit ud de aper t ura y pr egunt a por el cont enido de la pgina web del ser vidor RC Selenio ( est ablecido com o el pr oxy HTTP para el navegador que ut ilice) . 6. Ser vidor RC selenio se com unica con el ser vidor Web que solicit a la pgina y una vez que lo r ecibe, enva la pgina al navegador enm ascarar el or igen para par ecer se a la pgina pr oviene del m ism o ser vidor que el selenio- Cor e ( est o per m it e Selenio- Cor e para cum plir con la polt ica del m ism o or igen) . 7. El navegador r ecibe la pgina web y lo hace en el m ar co de la vent ana / r eser vado para ello.

Una mayor Privilegios Navegadores


Est e fluj o de t rabaj o en est e m t odo es m uy sim ilar a la inyeccin de apoderados, per o la pr incipal difer encia es que los navegador es se lanzan en un m odo especial llam ado Privilegios agudizados, que per m it e a los sit ios web para hacer cosas que no est n per m it idos nor m alm ent e ( com o hacer XSS , o llenar de car ga de ar chivos insum os y de cosas m uy t iles para el Selenio) . Mediant e el uso de est os m odos navegador, Selenio Cor e es capaz de abr ir dir ect am ent e la AUT y de lect ura / int er act uar con su cont enido sin t ener que pasar t oda la AUT a t ravs del ser vidor RC selenio. Aqu es el diagram a ar quit ect nico.

21 de 30

28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Com o un conj unt o de pr uebas com ienza en su idiom a pr efer ido, ocur r e lo siguient e: 1. El client e / cont r olador est ablece una conexin con el ser vidor de selenio- RC. 2. Ser vidor RC selenio lanza un navegador ( o r eut iliza una viej a) con una URL que car gar Selenio- Cor e en la pgina web. 3. Selenio- Cor e obt iene la pr im era inst r uccin del client e / conduct or ( a t ravs de ot ra solicit ud HTTP hecho a la RC ser vidor Selenio) . 4. Selenio- Cor e act a en esa pr im era inst r uccin, por lo general la aper t ura de una pgina de la AUT. 5. El navegador r ecibe la pet icin abier t a y pide al ser vidor Web de la pgina. Una vez que el navegador r ecibe la pgina web, la hace en el m ar co / vent ana r eser vado para ello.

Manejo HTTPS y Popups Seguridad


Muchas aplicaciones de pasar de ut ilizar HTTP a HTTPS cuando necesit an enviar infor m acin cifrada, com o cont raseas o infor m acin de t ar j et as de cr dit o. Est o es com n con m uchas de las aplicaciones web de hoy en da. El selenio RC adm it e. Par a asegurar que el sit io HTTPS es genuino, el navegador t endr un cer t ificado de segur idad. De lo cont rar io, cuando el navegador accede a la AUT ut ilizando HTTPS, se asum ir que la aplicacin no es 'confianza'. Cuando est o ocur r e, el navegador m uest ra pop- ups de segur idad, y est os pop- ups no se puede cer rar con selenio RC. Cuando se t rat a de HTTPS en una pr ueba de RC selenio, debe ut ilizar un m odo de ej ecucin que sopor t e est e y m anej a el cer t ificado de segur idad para ust ed. Se especifica el m odo de ej ecucin cuando el pr ogram a de pr uebas inicializa selenio. En selenio RC 1.0 bet a 2 y luego usar * fir efox o * iexplor e para el m odo de ej ecucin. En las ver siones ant er ior es, incluyendo selenio RC 1.0 bet a 1, uso * cr om o o * ieht a, por el m odo de ej ecucin. El uso de est os m odos de ej ecucin, no t endr que inst alar ningn cer t ificado de segur idad especiales; Selenio RC m anej ar por ust ed. 28/05/2013 7:40

22 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

est os m odos de ej ecucin, no t endr que inst alar ningn cer t ificado de segur idad especiales; Selenio RC m anej ar por ust ed. En la ver sin 1.0 se r ecom iendan los m odos de ej ecucin de Fir efox * o * iexplor e. Sin em bar go, hay m odos de ej ecucin adicionales de iexplor epr oxy * y * fir efoxpr oxy. Est os se pr opor cionan nicam ent e por com pat ibilidad hacia at r s, y no deben ut ilizar se a m enos que r equer ido por los pr ogram as de pr ueba exist ent es. Su uso se pr esent ar lim it aciones en la gest in de cer t ificados de segur idad y con el funcionam ient o de var ias vent anas si la aplicacin abr e vent anas de navegacin adicionales. En ver siones ant er ior es de selenio RC * , cr om o o * ieht a eran los m odos de ej ecucin que apoyar on HTTPS y el m anej o de las vent anas em er gent es de segur idad. Est os fuer on considerados ~ m odos exper im ent ales a pesar de que se hizo bast ant e est able y m uchas per sonas los ut ilizan. Si est ut ilizando Selenio 1,0 no es necesar io, y no se debe usar, est os m odos de funcionam ient o m ayor es.

Certificados de seguridad Explicacin


Nor m alm ent e, el navegador va a confiar en la aplicacin que se est pr obando m ediant e la inst alacin de un cer t ificado de segur idad que ya posee. Est o se puede com pr obar en las opciones de t u navegador o pr opiedades de I nt er net ( si ust ed no sabe el cer t ificado de segur idad de su AUT Pr egunt e al adm inist rador del sist em a) . Cuando selenio car ga el navegador que inyect a cdigo para int er cept ar m ensaj es ent r e el navegador y el ser vidor. El navegador ahora piensa que no se confa soft war e est t rat ando de par ecer se a su aplicacin. Se r esponde que le aler t a con m ensaj es em er gent es. Para evit ar est o, el selenio RC, ( de nuevo cuando se ut iliza un m odo de t rabaj o que sopor t an est o) inst alar su pr opio cer t ificado de segur idad, de m anera t em poral, a la m quina client e en un lugar donde el navegador puede acceder a l. Est o engaa al navegador para que piense que est accediendo a un sit io difer ent e de la AUT y supr im e eficazm ent e los popups. Ot r o m t odo ut ilizado con las ver siones ant er ior es de selenio fue inst alar el cer t ificado de segur idad Cyber villians pr opor cionado con la inst alacin de selenio. La m ayor a de los usuar ios no deber an t ener que hacer est o, sin em bar go, si est ej ecut ando selenio RC en el m odo de inyeccin de pr oxy, puede que t enga que inst alar explcit am ent e est e cer t ificado de segur idad.

Apoyar Navegadores adicionales y Browser Configuraciones


El API Selenio per m it e ej ecut ar cont ra m lt iples navegador es, adem s de I nt er net Explor er y Mozilla Fir efox. Visit e el sit io web Selenium HQ.or g para los navegador es sopor t ados. Adems, cuando no es dir ect am ent e com pat ible con un navegador, ust ed t odava puede ej ecut ar las pr uebas de Selenium cont ra un navegador de su eleccin ut ilizando el m odo de ej ecucin "* cust om " ( es decir, en lugar de * fir efox o * iexplor e) cuando se inicia la aplicacin de pr ueba el navegador. Con est o, se pasa en la r ut a al ej ecut able navegador es dent r o de la llam ada a la API . Est o t am bin se puede hacer desde el ser vidor en m odo int eract ivo.
cmd = getNewBrowserSession & 1 = * encargo c: \ P rograma \ Archivos de

23 de 30

28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

cmd = getNewBrowserSession & 1 = * encargo c: \ P rograma \ Archivos de

Ejecucin de pruebas con diferentes configuraciones del navegador


Nor m alm ent e selenio RC configura aut om t icam ent e el navegador, per o si se lanza el navegador usando el m odo de ej ecucin "* cust om ", puede for zar selenio RC para lanzar el navegador que est , sin necesidad de ut ilizar una configuracin aut om t ica. Por ej em plo, puede iniciar Fir efox con una configuracin per sonalizada de est a m anera:

cmd = getNewBrowserSession & 1 = * encargo c: \ P rograma \ Archivos d

Tenga en cuent a que al iniciar el navegador de est a m anera, debe configurar m anualm ent e el navegador para usar el ser vidor de selenio com o un pr oxy. Nor m alm ent e, est o slo significa abr ir las pr efer encias del navegador y especificar "localhost : 4444" com o un pr oxy HTTP , per o las inst r ucciones de est e puede var iar radicalm ent e de un navegador a otro. Consult e la docum ent acin de su navegador para obt ener m s infor m acin. Tenga en cuent a que los navegador es de Mozilla pueden var iar en la for m a de inicio y fin. Uno puede necesit ar configurar la var iable de ent or no MOZ_NO_REMOTE para que Mozilla se com por t an un poco m s pr edecible. Los usuar ios de Unix deben evit ar lanzar el navegador ut ilizando un scr ipt de shell, por lo general es m ej or ut ilizar el binar io ej ecut able ( por ej em plo fir efox- bin) dir ect am ent e.

Resolucin de problemas comunes


En nuest r os pr im er os pasos con selenio RC hay algunos pr oblem as pot enciales que se encuent ran com nm ent e. Las presentamos junto con sus soluciones aqu.

No se puede conectar al servidor


Cuando el pr ogram a de pr uebas no se puede conect ar al ser vidor de selenio, selenio pr oduce una excepcin en el pr ogram a de pr uebas. Debe m ost rar est e m ensaj e o uno sim ilar :

"No se puede conectar al servidor remoto (Interior Mensaje de excepci Se podra hacer ninguna conexin porque el equipo de destino activa rechazado) " (Utilizando. NET y Windows XP Service Pack 2)

Si ve un m ensaj e com o est e, asegr ese de que ha iniciado el ser vidor de selenio. Si es as, ent onces no es un pr oblem a con la conect ividad ent r e la bibliot eca de client es selenio y el ser vidor de selenio. Al com enzar con selenio RC, la m ayor a de la gent e com ienza m ediant e la ej ecucin de pr ogram a de pr ueba em abr go ( con una bibliot eca de client e de selenio) y el ser vidor de selenio en la m ism a m quina. Para ello ut iliza "localhost " com o par m et r o de conexin. Recom endam os com enzar est e cam ino, ya que r educe la influencia de los posibles pr oblem as de r ed que est s em pezando. Asum iendo que su sist em a operat ivo t iene una r ed t pica y la configuracin de TCP / I P debe t ener poca dificult ad. En verdad, muchas personas 28/05/2013 7:40

24 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

de los posibles pr oblem as de r ed que est s em pezando. Asum iendo que su sist em a operat ivo t iene una r ed t pica y la configuracin de TCP / I P debe t ener poca dificult ad. En verdad, muchas personas opt an por ej ecut ar las pr uebas de est a m anera. Sin em bar go, si ust ed no desea ej ecut ar selenio Ser ver en una m quina r em ot a, la conexin debe est ar bien suponiendo que t iene conect ividad TCP / I P vlida ent r e las dos m quinas. Si t iene dificult ades para conect ar se, puede ut ilizar her ram ient as de redes comunes como ping, telnet, ifconfig (Unix) / ipconfig ( Windows) , et c para asegurar se de t ener una conexin de r ed vlida. Si unfam ilar con est os, el adm inist rador del sist em a le puede ayudar.

No se puede cargar el navegador


Ok, no es un m ensaj e de er r or descr ipt ivo, lo sient o, per o si el ser vidor de selenio no puede car gar el navegador se likley ver est e error.
(500) Error interno del servidor

Est o podr a ser causado por Fir efox ( ant es de Selenio 1.0) no puede iniciar se por que el navegador ya est abier t o y no se ha especificado un per fil independient e. Vea la seccin de per files de Fir efox en Opciones del ser vidor. El m odo de ej ecucin que est ut ilizando no coincide con ningn navegador en su m quina. Com pr uebe los par m et r os pasados al selenio al pr ogram a se abr e el navegador. Ha especificado la r ut a de acceso al navegador de for m a explcit a ( ut ilizando "* cust om "-vase m s ar r iba) , per o la r ut a es incor r ect a. Com pr uebe que la r ut a es cor r ect a. Tam bin puedes ver el gr upo de usuar ios para asegurar se de que no hay pr oblem as conocidos con la de los "* " Par m et r os per sonalizados navegador y.

El selenio no puede encontrar la AUT


Si su pr ogram a de pr ueba se inicia el navegador con xit o, per o el navegador no m uest ra el sit io web que est pr obando, la causa m s pr obable es que su pr ogram a de pr uebas no est ut ilizando la URL correcta. Est o puede suceder fcilm ent e. Cuando se ut iliza con selenio I DE para expor t ar la secuencia de com andos, inser t a una URL fict icia. Debe cam biar m anualm ent e la dir eccin URL para el cor r ect o para su aplicacin a pr obar.

Firefox neg apagado mientras se prepara un perfil de


Est o ocur r e con m ayor fr ecuencia cuando el ej ecut ar el pr ogram a de pr ueba RC Selenio cont ra Fir efox, per o ust ed ya t iene una sesin del navegador Fir efox cor r iendo y, que no especifica un per fil dist int o al iniciar el ser vidor de selenio. El er r or en el pr ogram a de pr uebas es el siguient e:
Error: java.lang.RuntimeException: Firefox neg parada mientras la preparacin de un perfil

25 de 30

28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
Error: java.lang.RuntimeException: Firefox neg parada mientras la preparacin de un perfil

Aqu est el m ensaj e de er r or com plet o del ser vidor :

16:20:03.919 INFO - Preparacin perfil de Firefox ... 16:20:27.822 WARN - GET / selenium-server/driver / cmd = getNewBrowserS Efox y 2 = http% 3A% 2F% 2fsage-webapp1.qa.idc.com HTTP/1.1 java.lang.RuntimeException: Firefox neg apagado mientras se prepara un en org.openqa.selenium.server.browserlaunchers.FirefoxCustomPro her.waitForFullProfileToBeCreated (FirefoxCustomProfileLauncher.java: 2 ... Causado por: org.openqa.selenium.server.browserlaunchers.FirefoxCustomP sus $ FileLockRemainedException: Archivo an presente Lock! C: ~ 1 \ T emp \ c ustomProfileDir203138 \ p arent.lock

Para r esolver est e pr oblem a, consult e la seccin Especificacin de un per fil Fir efox separada

Versiones Problemas
Asegr ese de que su ver sin de selenio com pat ible con la ver sin de su explorador. Por ej em plo, el selenio RC 0.92 no es com pat ible con Fir efox 3. A veces se puede t ener la suer t e ( yo) . Per o no se olvide de com pr obar qu ver siones de los navegador es son com pat ibles con la ver sin de selenio que est ut ilizando. En caso de duda, ut ilice la ver sin m s r ecient e liberacin de selenio con la ver sin m s ut ilizada de su navegador.

Mensaje de error: "(no compatible major.minor versin 49.0)" durante el arranque del servidor
Est e er r or indica que no est ut ilizando una ver sin cor r ect a de Java. El ser vidor de selenio r equier e Java 1.5 o super ior. Para com pr obar Com pr uebe la ver sin j ava, ej ecut e desde la lnea de comandos.
java-version

Ust ed debe ver un m ensaj e que m uest ra la ver sin de Java.


java version "1.5.0_07" Java (TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03) Java HotSpot (TM) Client VM (build 1.5.0_07-b03, modo mixto)

Si ust ed ve un nm er o de ver sin infer ior, puede que t enga que act ualizar el JRE, o t al vez slo t endr que aadir a su var iable de entorno PATH.

404 error al ejecutar el comando getNewBrowserSession


Si ust ed est r ecibiendo un er r or 404 al int ent ar abr ir una pgina en " ht t p: / / www.google.com / selenium - ser ver / ", entonces debe ser por que el ser vidor de selenio no se ha configurado cor r ect am ent e como un proxy. El dir ect or io "selenio- ser ver " no exist e en google.com , sino que slo par ece exist ir cuando el pr oxy est configurado cor r ect am ent e. Configuracin de pr oxy depende en gran m edida de cm o el navegador se lanza con * fir efox, iexplor e * , * pera, o * per sonalizado. 26 de 30 * I explor e: Si el navegador se inicia 28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... pera, o * per sonalizado. * I explor e: Si el navegador se inicia con * iexplor e, ust ed podr a t ener un pr oblem a con la configuracin del pr oxy de I nt er net Explor er. Selenio Ser ver int ent a configurar el pr oxy globales en el panel de cont r ol Opciones de I nt er net . Usted debe asegurar se de que las per sonas est n configurados cor r ect am ent e cuando selenio ser vidor se inicia el navegador. I nt ent e buscar en su panel de cont r ol Opciones de I nt er net . Haga clic en la pest aa "Conexiones" y haga clic en "Configuracin de LAN". Si t iene que usar un pr oxy para acceder a la aplicacin que desea pr obar, ust ed necesit a para com enzar selenio Ser ver con "- Dht t p.pr oxyHost ", ver la configuracin del pr oxy para ms det alles. Ust ed t am bin puede t rat ar de configurar el pr oxy m anualm ent e y luego iniciar el navegador con * per sonalizado o con * launcher navegador ieht a. * Medida: Al utilizar * encargo debe configurar el proxy correctamente (manualmente), de lo cont rar io obt endr un er r or 404. Vuelva a com pr obar que ha configurado cor r ect am ent e la configuracin del pr oxy. Para com pr obar si se ha configurado el pr oxy cor r ect o es t r at ar de configurar el navegador int encionadam ent e incor r ect a. I nt ent e configurar el navegador para usar el ser vidor pr oxy m al nom br e de host o un puer t o equivocado. Si ha configurado cor r ect am ent e la configuracin del pr oxy de t u navegador cor r ect am ent e, el navegador no ser capaz de conectarse a Internet, que es una m anera de asegurar se de que se est aj ust ando los aj ust es cor r espondient es. Para ot r os navegador es ( Fir efox * , * pera) que aut om t icam ent e el cdigo el pr oxy para t i, y as t her hay pr oblem as conocidos con est a funcionalidad. Si ust ed est encont rando er r or es 404 y ha seguido est as inst r ucciones de uso at ent am ent e publicar los r esult ados de gr upo de usuar ios para la ayuda de la com unidad de usuar ios.

Permiso denegado Error


La razn m s com n de est e er r or es que la sesin est t rat ando de violar la polt ica de m ism o or igen, cr uzando fr ont eras de dom inio ( por ej em plo, acceso a una pgina de ht t p: / / dom ain1 y luego accede a una pgina de ht t p: / / dom ain2 ) o cam biar pr ot ocolos ( pasando de 28/05/2013 7:40

27 de 30

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... violar la polt ica de m ism o or igen, cr uzando fr ont eras de dom inio ( por ej em plo, acceso a una pgina de ht t p: / / dom ain1 y luego accede a una pgina de ht t p: / / dom ain2 ) o cam biar pr ot ocolos ( pasando de ht t p: / / dom ainX a ht t ps: / / dom ainX ). Est e er r or t am bin puede pr oducir se cuando int ent a JavaScr ipt para encont rar obj et os de int er faz de usuar io que no est n t odava disponibles ( ant es de la pgina se ha car gado por com plet o) , o ya no est n disponibles ( despus de que el per fil ha com enzado a descargar). Est o es lo m s t picam ent e encont rado con pginas AJAX que est n t rabaj ando con secciones de una pgina o subt ram as que la car ga y / o r ecar ga de for m a independient e de la pgina m s grande. Est e er r or puede ser int er m it ent e. A m enudo es im posible r epr oducir el pr oblem a con un depurador debido a que el pr oblem a se der iva de las condiciones de car r era que no son r epr oducibles cuando se aade encim a de la cabeza del depurador para el sist em a. Pr oblem as de per m isos se t rat an en det alle en el t ut or ial. Lea la seccin sobr e el The Or igin m ism a dir ect iva , inyeccin Pr oxy cuidado.

Manejo Browser emergente de Windows


Hay var ios t ipos de "Pop- ups" que se puede obt ener durant e la pr ueba de selenio. Puede que no sea capaz de cerrar esas ventanas em er gent es m ediant e la ej ecucin de com andos de selenio si se inician por el navegador y no su AUT. Puede que tenga que saber cmo manejar estos. Cada t ipo de necesidades em er gent es que deben t rat ar se de m anera difer ent e. HTTP dilogos de I dent ificacin Bsica: Est os cuadr os de dilogo solicit an el nom br e de usuar io / cont rasea para acceder al sit io. Para acceder a un sit io que r equier e aut ent icacin bsica HTTP , ut ilice un nom br e de usuar io y cont rasea en la URL, com o se descr ibe en el RFC 1738 , as: open (" http://myusername:myuserpassword @ m yexam ple.com / bla / bla / bla " ). Adver t encias de cer t ificado SSL: El selenio RC int ent a aut om t icam ent e cer t ificados SSL fraudulent os cuando se habilit a com o un pr oxy, ver m s sobr e est o en la seccin sobr e HTTPS. Si t u navegador est configurado cor r ect am ent e, nunca debe ver las adver t encias de cer t ificado SSL, per o puede que t enga que configurar su navegador para confiar en nuest r os "Cyber Villains" peligr osos aut or idad de cer t ificados SSL. Una vez m s, consult e la seccin HTTPS para saber cm o hacer lo. m odal JavaScr ipt aler t a / confir m acin / dilogos r pidos: Selenio t rat a de ocult ar los cuadr os de dilogo de ust ed ( sust it uyendo window.aler t , window.confir m y window.pr om pt ) para que no se det endr la ej ecucin de su pgina. Si ust ed est viendo una aler t a pop- up, que es pr obablem ent e debido a que dispar durant e el pr oceso de car ga de la pgina, que nor m alm ent e es dem asiado pr ont o para que pr ot ej am os la pgina. Selenese cont iene com andos para hacer valer o ver ificando aler t as y vent anas em er gent es de confir m acin.

28 de 30

28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

pr ont o para que pr ot ej am os la pgina. Selenese cont iene com andos para hacer valer o ver ificando aler t as y vent anas em er gent es de confir m acin. Vea las secciones sobr e est os t em as en el capt ulo 4.

En Linux, por qu no es mi Firefox cierre de la sesin del navegador?


En Unix / Linux debe invocar "fir efox- bin" dir ect am ent e, as que asegr ese de que es ej ecut able en el cam ino. Si la ej ecucin de Fir efox a t ravs de un scr ipt de shell, cuando llega el m om ent o de m at ar el navegador selenio RC m at ar el scr ipt de shell, dej ando el navegador que se ejecuta. Puede especificar la r ut a de fir efox- bin dir ect am ent e com o aqu.

cmd = getNewBrowserSession & 1 = * firefox / usr / local / firefox / f

Firefox * chrome no funciona con perfil personalizado


Com pr uebe la car pet a de per fil de Fir efox - > pr efs.j s - > user _pr ef ( "br owser.st ar t up.page", 0) ; Com ent ar est a lnea com o la siguient e: "/ / user _pr ef ( " br owser.st ar t up.page ", 0) ; " y vuelva a int ent ar lo .

Est bien para cargar un pop-up personalizado como la pgina principal se carga (es decir, antes de que la pgina primaria javascript window.onload () la funcin se ejecuta)?
No. El selenio se basa en int er cept or es para det er m inar los nom br es de las vent anas, ya que se est n car gando. Est os int er cept or es m ej or t rabaj o en la capt ura de nuevas vent anas si las vent anas se car gan despus de la funcin onload ( ) . El selenio puede no r econocer vent anas car gados ant es de la funcin onload.

Problemas con Verifique Comandos


Si expor t a sus pr uebas de selenio I DE, ust ed puede encont rar que las cadenas ver ificacin se vaca de sus pr uebas ( dependiendo del lenguaj e de pr ogram acin ut ilizado) . Not a: Est a seccin t odava no est desar r ollado.

Safari y el modo multiventana


Nota: Esta seccin todava no est desarrollado.

Firefox en Linux
En Unix / Linux, las ver siones de selenio ant es de 1,0 necesar io para invocar "fir efox- bin" dir ect am ent e, por lo que si ust ed est ut ilizando una ver sin ant er ior, asegr ese de que el ar chivo ej ecut able r eal est en el cam ino. En la m ayor a de las dist r ibuciones de Linux, el firefox-bin verdadera se encuentra en:
/ Usr / lib / firefox-xxx /

Cuando el xxx es el nm er o de ver sin que t iene act ualm ent e. Por lo t ant o, para aadir ese cam ino a la r ut a del usuar io. usted tendr que agr egar lo siguient e a su ar chivo bashr c.: 29 de 30
exportar PATH = "$ PATH :/ usr / lib / firefox-xxx /"

28/05/2013 7:40

1 selenio (selenio RC) - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

que agr egar lo siguient e a su ar chivo bashr c.:


exportar PATH = "$ PATH :/ usr / lib / firefox-xxx /"

Si es necesar io, puede especificar la r ut a de fir efox- bin dir ect am ent e en su pr ueba, as:
"* Firefox / usr / lib / firefox-xxx / firefox-bin"

IE y estilo Atributos
Si est ej ecut ando las pr uebas en I nt er net Explor er y no puede encont rar los elem ent os usando su at r ibut o de estilo. Por ej em plo:
/ / Td [@ style = "background-color: yellow"]

Est o funciona per fect am ent e en Fir efox, Opera o Safar i, per o no con IE. I E int er pr et a las t eclas en el estilo @ en m aysculas. As que, incluso si el cdigo fuent e est en m insculas, se debe ut ilizar :
/ / Td [@ style = "background-color: yellow"]

Est e es un pr oblem a si la pr ueba est diseado para funcionar en m lt iples navegador es, per o se puede codificar fcilm ent e la pr ueba para det ect ar la sit uacin y t rat ar el localizador alt er nat iva que slo funciona en I E.

Se encontr error - "No se puede convertir objeto de valor primitivo" con cierre de * googlechrome navegador
Para evit ar est e er r or hay que iniciar el navegador con una opcin que deshabilit a m ism as com pr obaciones de la dir ect iva de or igen:
selenium.start ("commandLineFlags = - disable-web-seguridad");

Dnde puedo hacer preguntas que no estn respondidas aqu?


Pruebe nuestro gr upo de usuar ios

Navegacin

30 de 30

28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Presentacin de prueba de diseo


Hem os incluido en est e capt ulo la infor m acin que ser de ut ilidad t ant o para los nuevos en la aut om at izacin de pr uebas y para el pr ofesional de cont r ol de calidad con exper iencia. A cont inuacin se descr iben los t ipos m s com unes de pr uebas aut om at izadas. Tam bin descr ibim os "pat r ones de diseo" de uso com n en la aut om at izacin de pr uebas para m ej orar el m ant enim ient o y ext ensibily de su suit e de aut om at izacin. El lect or m s exper im ent ado encont rar est os int er esant es si no est ut ilizando est as t cnicas.

Tipos de pruebas
Qu par t es de la aplicacin en caso de que la pr ueba? Eso depende de los aspect os de su pr oyect o: expect at ivas de los usuar ios, el t iem po per m it ido para el pr oyect o, las pr ior idades est ablecidas por el dir ect or del pr oyect o y as sucesivam ent e. Una vez que los lm it es del pr oyect o se definen sin em bar go, ust ed, el pr obador, sin duda va a t om ar m uchas decisiones sobr e lo que debe pr obar. Hem os cr eado algunos t r m inos aqu con el pr opsit o de clasificar los t ipos de pr uebas que se pueden r ealizar en su aplicacin web. Estos t r m inos no son de ninguna nor m a m edios, aunque los concept os que pr esent am os aqu son t picos para las pr uebas de aplicaciones web.

Prueba de contenido esttico


El t ipo m s sim ple de pr ueba, una prueba de contenido, es una pr ueba sim ple para la exist encia de un no- cam biant e, elem ent o est t ico, la int er faz de usuar io. Por ej em plo Cada pgina t iene su t t ulo de la pgina esperada? Esto se puede ut ilizar para ver ificar la pr ueba encont r una pgina esperada despus de seguir un enlace. La pgina de inicio de la aplicacin cont iene una im agen est ar en la par t e super ior de la pgina? Tiene cada pgina del sit io web cont iene un r ea de pie de pgina con enlaces a la pgina de cont act o de la em pr esa, la polt ica de pr ivacidad y la infor m acin de las m ar cas? Cada pgina com ienza con la r br ica del t ext o m ediant e la et iquet a < h1> ? Y , no cada pgina t iene el t ext o cor r ect o en esa cabecera? Ust ed puede o no puede necesit ar exm enes de cont enido. Si el cont enido de la pgina no es pr obable que sea afect ada, ent onces puede ser m s eficient e para pr obar cont enido de la pgina de for m a m anual. Si, por ej em plo, la aplicacin incluye ar chivos que se t raslad a difer ent es lugar es, las pr uebas de cont enido pueden r esult ar t iles.

Pruebas Links
1 de 15 Una fuent e fr ecuent e de er r or es para sit ios web son los enlaces r ot os o pginas que falt an det r s de enlaces. Las pr uebas consist en 28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Pruebas Links
Una fuent e fr ecuent e de er r or es para sit ios web son los enlaces r ot os o pginas que falt an det r s de enlaces. Las pr uebas consist en en hacer clic en cada enlace y ver ificacin de la pgina de espera. Si los enlaces est t icos se cam bian con poca fr ecuencia a cont inuacin de pr ueba m anual puede ser suficient e. Sin em bar go, si sus diseador es web con fr ecuencia alt eran los vnculos o si los ar chivos se t rasladar on en ocasiones, las pr uebas de enlace deben ser aut om at izados.

Pruebas de Funcin
Est as ser an las pr uebas de una funcin especfica dent r o de la aplicacin, lo que r equier e algn t ipo de ent rada del usuar io y r egr esar algn t ipo de r esult ados. A menudo, una prueba de funcionam ient o im plicar var ias pginas con una pgina de ent rada basada en for m ular ios que cont iene un conj unt o de cam pos de ent rada, el t r m it e y cancelar las operaciones, y una o m s pginas de respuesta. La ent rada del usuar io puede ser a t ravs de los cam pos de ent rada de t ext o, casillas de ver ificacin, list as desplegables, o cualquier ot ra ent rada en navegador com pat ible. Pr uebas de funcin son a m enudo las pr uebas m s com plej as que ust ed Aut om at izar, per o generalm ent e son los m s im por t ant es. Pr uebas t picas pueden ser para inicio de sesin, el r egist r o en el sit io, las operaciones de cuent a de usuar io, cuent a de los cam bios de configuracin, operaciones com plej as de r ecuperacin de dat os, entre otros. Pr uebas de funcin nor m alm ent e r eflej an la facilidad de escenar ios em pleados para designar las caract er st icas y el diseo o la aplicacin.

Prueba elementos dinmicos


A m enudo, un elem ent o de la pgina web t iene un ident ificador nico que se ut iliza para localizar nicam ent e ese elem ent o dent r o de la pgina. Por lo general, st os se im plem ent an m ediant e el at r ibut o HTML t ag de 'id' o su at r ibut o "nom br e". Estos nombres pueden ser una const ant e est t ica, es decir, que no cam bia, cadena. Tam bin pueden ser valor es que var an cada inst ancia de la pgina generada dinm icam ent e. Por ej em plo, algunos ser vidor es web pueden nom brar docum ent o m ost rado doc3861 una inst ancia de una pgina, y 'doc6148' en una inst ancia dist int a de la pgina en funcin de lo "docum ent o" que el usuar io est aba r ecuperando. Un scr ipt de pr ueba la ver ificacin de que exist e un docum ent o puede no t ener un ident ificador consist ent e para usar para la localizacin de dicho documento. A m enudo, los elem ent os dinm icos con difer ent es ident ificador es est n en algn t ipo de pgina de r esult ados sobr e la base de una accin del usuar io. Est o aunque cier t am ent e depende de la funcin de la aplicacin web. He aqu un ej em plo.

<Input type = value "casilla" = "true" id = "addForm: _ID74: _ID75: 0: checkBox "/>

Est o m uest ra una et iquet a HTML para una casilla de ver ificacin. Su I D ( addFor m : _I D74: _I D75: 0: _I D79: 0: checkBox) es un valor generado de for m a dinm ica. La pr xim a vez que la m ism a pgina se abr e es pr obable que sea un valor difer ent e.

2 de 15

Ajax Prueba

28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

se abr e es pr obable que sea un valor difer ent e.

Ajax Prueba
Aj ax es una t ecnologa que sopor t a cam bios dinm icos elem ent os de la int er faz de usuar io que se puede cam biar de for m a dinm ica sin el navegador de t ener que r ecar gar la pgina, com o la anim acin, los canales RSS, y la act ualizacin de los dat os en t iem po r eal, ent r e otros. Hay un sinnm er o de for m as Aj ax se puede ut ilizar para act ualizar los elem ent os de una pgina web. Sin em bar go, la for m a m s fcil de pensar en est o es que en las aplicaciones Aj ax im pulsadas, los dat os se r ecuperan desde el ser vidor de aplicaciones y luego apar ece en la pgina sin t ener que r ecar gar t oda la pgina. Slo una par t e de la pgina, o est r ict am ent e el elem ent o en s se vuelve a car gar.

Validacin de Resultados
Afirmar vs Verifique
Cundo se debe ut ilizar un com ando de afir m ar y cundo debe ut ilizar un com ando de ver ificacin? Esto depende de usted. La difer encia est en lo que ust ed quier e que suceda cuando el cheque no. Quier es que t u pr ueba para t er m inar o cont inuar y sim plem ent e r egist ra que el cheque no? Est a es la disyunt iva. Si ut iliza una aser cin, la pr ueba se det endr en ese punt o y no se ej ecut an las com pr obaciones post er ior es. A veces, t al vez a m enudo, est o es lo que quier es. Si la pr ueba falla, sabr inm ediat am ent e que la pr ueba no fue apr obada. Motores de pr ueba, com o la Test NG y JUnit t ienen plugins para ent or nos de desar r ollo de uso com n ( capt ulo 5) que convenient em ent e bandera est as pr uebas com o las pr uebas fallidas. La vent aj a: t iene una visual inm ediat a de que pasar on los cont r oles. La desventaja: cuando un cheque no fallar, hay ot r os cont r oles que nunca se r ealizar on, por lo que no t ienen infor m acin sobr e su est ado. Por el cont rar io, ver ificar com andos no t er m inar la pr ueba. Si slo se ut iliza la pr ueba de ver ificar los com andos que est n garant izados ( asum iendo que no hay excepciones inesperadas) la pr ueba se ej ecut ar hast a el final si los cont r oles a encont rar defectos o no. El inconvenient e: hay que hacer m s t rabaj o para exam inar los r esult ados del exam en. Es decir, ust ed no obt endr r et r oalim ent acin de Test NG o JUnit . Ust ed t endr que m irar los r esult ados de una copia im pr esa de la consola o una salida de r egist r o. Y ust ed t endr que t om ar el t iem po para m irar a t ravs de est a salida cada vez que se ej ecut a la pr ueba. Si est ej ecut ando cient os de pr uebas, cada una con su pr opio r egist r o, st e ser lent o, y la r espuest a inm ediat a de afir m a ser m s apr opiado. Afir m a son m s de uso general de ver ifys por su r espuest a inm ediat a.

Compensaciones: assertTextPresent, assertElementPresent, assertText


Ahora deber a est ar fam iliar izado con est os com andos, y la m ecnica de uso. Si no es as, consult e el capt ulo 3 por pr im era vez. Al const r uir sus pr uebas, ust ed t endr que decidir Tengo slo com pr obar que exist e el t ext o de la pgina? (Verify / assertTextPresent) Tengo slo com pr obar que exist e el elem ent o HTML en la pgina? Es decir, el t ext o, la im agen o el cont enido no es 28/05/2013 7:40

3 de 15

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... (Verify / assertTextPresent) Tengo slo com pr obar que exist e el elem ent o HTML en la pgina? Es decir, el t ext o, la im agen o el cont enido no es obj et o de cont r ol slo el t ag HTML es lo que es r elevant e. (Verify / assertElementPresent) Tengo que poner a pr ueba t ant o, el elem ent o y su cont enido de texto? (Verify / assertText)

No hay una respuesta correcta. Depende de los r equisit os de la prueba. Lo cual, por supuest o, depende de los r equisit os para la aplicacin que se est pr obando. En caso de duda, ut ilice assertText ya que est e es el t ipo m s est r ict o de cont r ol. Siem pr e se puede cam biar m s adelant e, per o por lo m enos no le falt an los fallos pot enciales. Verificar / assertText es el t ipo de prueba ms especfica. Esto puede fallar si bien el elem ent o HTML ( t ag) o el t ext o no es lo que la pr ueba est a la espera. Tal vez sus diseador es web est n cam biando con fr ecuencia la pgina y que no quier e que su er r or de la pr ueba cada vez que hacen est o por que los m ism os se pr evn cam bios per idicam ent e. Sin em bar go, suponga que ust ed t odava necesit a para com pr obar que algo est en la pgina, por ej em plo un pr rafo, o de la par t ida de t ext o o una im agen. En este caso se puede usar verificar / assertElementPresent. Se asegurar de que exist e un t ipo par t icular de elem ent o ( y si se ut iliza XPat h puede garant izar que exist e en r elacin con ot r os obj et os dent r o de la pgina) . Per o no im por t a lo que es el cont enido. Slo im por t a que un elem ent o especfico, por ej em plo, una im agen, est en una ubicacin especfica. Conseguir una idea de est e t ipo de decisiones vendr con el t iem po y un poco de exper iencia. Son concept os sencillos y fciles de cam biar en su pr ueba.

Ubicacin Estrategias
Seleccin de una ubicacin Estrategia
Hay var ias m aneras de seleccionar un obj et o en una pgina. Pero cules son las com pensaciones de cada uno de est os t ipos de localizacin? Recor dem os que podem os localizar un obj et o ut ilizando I D del elem ent o at r ibut o nam e del elem ent o una sent encia XPat h por un t ext o enlaces Docum ent Obj ect Model ( DOM) El uso de un I D de elem ent o o nom br e de localizacin es la m s eficient e en t r m inos de r endim ient o de la pr ueba, y t am bin hace que el cdigo de pr ueba m s legible, asum iendo el I D o el nom br e dent r o de la pgina de or igen es bien nom brado. Declaraciones XPat h t ar dan m s t iem po en pr ocesar desde el navegador debe ejecutar su procesador XPath. XPat h ha sido conocido por ser especialm ent e lent o en la ver sin de I nt er net Explor er 7. Localizando a t ravs de t ext o de un vnculo es a m enudo convenient e y funciona bien. Est a t cnica es especfica a los enlaces sin em bar go. Adem s, si es pr obable que cam bie con fr ecuencia, localizar el elem ent o < a> el t ext o del enlace ser a la m ej or opcin. 4 de 15 A veces, sin em bar go, ust ed debe ut ilizar un localizador de XPat h.28/05/2013 Si 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

localizar el elem ent o < a> el t ext o del enlace ser a la m ej or opcin. A veces, sin em bar go, ust ed debe ut ilizar un localizador de XPat h. Si la fuent e de la pgina no t iene un I D o at r ibut o puede t ener m s r em edio que ut ilizar un localizador de XPat h. ( Localizador es DOM ya no son de uso com n desde XPat h puede hacer t odo lo que pueden y m s. Localizador es DOM est n disponibles slo para apoyar las pr uebas exist ent es.) Hay una vent aj a de ut ilizar XPat h que la localizacin a t r avs de I D o at r ibut os de nom br e no t ienen. Con XPath (y DOM) se puede localizar un obj et o con r espect o a ot r o obj et o en la pgina. Por ej em plo, si hay un enlace que debe ocur r ir en el pr rafo segundo dent r o de una seccin < div> , puede ut ilizar XPat h para especificar esto. Con la ident ificacin y el nom br e de localizador es, slo se puede especificar que se pr esent an en la pgina, es decir, en algn lugar de la pgina. Si ust ed t iene que pr obar que una im agen que m uest ra el logot ipo de la em pr esa en la par t e super ior de la pgina en un encabezado de seccin XPat h puede ser la m ej or localizacin.

Localizacin de elementos dinmicos


Com o se ha descr it o ant er ior m ent e en la seccin sobr e t ipos de pr uebas, un elem ent o dinm ico es un elem ent o de la pgina cuyo ident ificador var a con cada inst ancia de la pgina. Por ej em plo,

<A class = id "botn" = "adminHomeForm" onclick = "oamSubmitForm retor 'AdminHomeForm: _ID38'); "href =" # "> Ver archivados Asignacin Evento

Est a et iquet a de anclaj e HTML define un bot n con un at r ibut o I D de "adm inHom eFor m ". Es una et iquet a bast ant e com plej o de anclaj e en com paracin con la m ayor a de et iquet as HTML, per o t odava es una et iquet a est t ica. El cdigo HTML ser la m ism a cada vez que est a pgina se car ga en el navegador. Su I D se m ant iene const ant e con t odas las inst ancias de est a pgina. Es decir, cuando se visualiza est a pgina, est e elem ent o de la int er faz de usuar io t endr siem pr e est e ident ificador. Por lo t ant o, par a su scr ipt de pr ueba para hacer clic en est e bot n, slo hay que ut ilizar el siguient e com ando selenio.
haga clic adminHomeForm

O, en Selenio 1,0

. selenio clic ("adminHomeForm");

Su aplicacin, sin em bar go, puede generar HTML dinm icam ent e en el ident ificador var a en las difer ent es inst ancias de la pgina web. Por ej em plo, el HTML para un elem ent o de pgina dinm ica puede tener este aspecto.

<Input type = value "casilla" = "true" id = "addForm: _ID74: _ID75: 0: name = "addForm: _ID74: _ID75: 0: _ID79: 0: checkBox" />

5 de 15

Est o define una casilla de ver ificacin. Su ident idad y at r ibut os de nom br e ( t ant o addFor m : _I D74: _I D75: 0: _I D79: 0: checkBox) son valor es generados dinm icam ent e. En est e caso, el uso de un localizador est ndar ser a algo com o lo siguient e. 28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

nombre (tanto addForm: _ID74: _ID75: 0: _ID79: 0: checkBox) son valor es generados dinm icam ent e. En est e caso, el uso de un localizador est ndar ser a algo com o lo siguient e.
haga clic addForm: _ID74: _ID75: 0: _ID79: 0: checkBox

O, de nuevo en selenio- RC

. selenio clic ("addForm: _ID74: _ID75: 0: _ID79: 0: casilla de

Dado el ident ificador generado dinm icam ent e, est e enfoque no funcionar a. La pr xim a vez que est a pgina se ha car gado el ident ificador ser un valor difer ent e de la ut ilizada en el com ando Selenio y por lo t ant o, no ser encont rado. La oper acin click fallar con un er r or "Elem ent o no encont rado". Para cor r egir est o, una solucin sim ple ser a ut ilizar slo un localizador XPat h en lugar de t rat ar de usar un localizador I D. Por lo t ant o, para la casilla de ver ificacin puede ut ilizar sim plem ent e
haga clic en / / entrada

O bien, si no es el pr im er elem ent o de ent rada en la pgina ( que es pr obable que no lo es) t rat ar una declaracin m s det allada XPat h.
haga clic en / / de entrada [3]

O
haga clic en / / div / p [2] / entrada [3]

Sin em bar go, si ust ed necesit a ut ilizar el I D para localizar el elem ent o, se necesit a una solucin difer ent e. Usted puede capturar la I D de la pgina web ant es de usar lo en un com ando selenio. Se puede hacer de esta manera.

String [] checkboxids = selenio getAllFields (),. / / Recoge todos los por (String checkboxid: checkboxids) { if (checkboxid. contiene ("addForm")) { . selenio clic (checkboxid); } }

Est e m t odo funciona si slo hay una casilla de ver ificacin cuyo I D cont iene el t ext o 'addFor m '.

Localizacin Ajax Elementos


Com o se pr esent en los t ipos de pr ueba inciso ant er ior, un elem ent o de pgina im plem ent ado con el Aj ax es un elem ent o que se puede act ualizar de for m a dinm ica sin t ener que act ualizar la pgina ent era. La m ej or m anera de localizar y ver ificar un elem ent o Aj ax es ut ilizar la API de WebDr iver Selenio 2,0. Fue diseado especficam ent e para hacer fr ent e a las pr uebas de elem ent os Aj ax donde Selenio 1 t iene algunas lim it aciones. 28/05/2013 7:40

6 de 15

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Aj ax es ut ilizar la API de WebDr iver Selenio 2,0. Fue diseado especficam ent e para hacer fr ent e a las pr uebas de elem ent os Aj ax donde Selenio 1 t iene algunas lim it aciones. En Selenim 2.0 ut iliza el wait For ( ) para esperar a que un elem ent o de la pgina que est n disponibles. El par m et r o es un obj et o que es com o WebDr iver im plem ent a localizador es. Est o se explica en det alle en los capt ulos WebDr iver. Para hacer est o con Selenio 1,0 ( selenio- RC) un poco m s cdigo est involucr ado, per o no es difcil. El enfoque consist e en com pr obar si el elem ent o, si no es de esperar disponibles dur ant e un per odo pr edefinido y luego ot ra vez volver a com pr obar l. Esto se ej ecut a a cont inuacin, con un bucle con un t iem po de espera pr edet er m inado de t er m inacin del bucle si no se encuent ra el elem ent o. Consider em os una pgina que t rae un enlace ( link = aj axLink) el clic de un bot n en la pgina ( sin act ualizar la pgina) Est o podr a ser m anej ado por selenio ut ilizando un bucle.

/ / Loop inicializacin. for (int segundos = 0;; segundo + +) { / / Si el bucle se lleg a 60 segundos y luego romper el bucle. if (segundos> = 60) break;

"Link = ajaxLink" / / Busca elemento y si est disponible a contin try {if (selenio isElementPresent ("link = ajaxLink").) break;} / / Pausa durante 1 segundo. . Tema del sueo (1000); }

Est o cier t am ent e no es la nica solucin. Ajax es un tema comn en el for o de usuar ios y se r ecom ienda buscar discusiones ant er ior es para ver lo que ot r os han hecho.

Envolver selenio llamadas


Com o con cualquier pr ogram acin, t endr que ut ilizar las funciones de ut ilidad para m anej ar cdigo que de ot r o m odo se duplica a lo lar go de las pr uebas. Una for m a de evit ar est o es envolver las llam adas selenio ut ilizadas con funciones o m t odos de clase de su pr opio diseo. Por ej em plo, m uchas pr uebas con fr ecuencia se haga clic en un elem ent o de pgina y esperar a la pgina para car gar var ias veces dent r o de una prueba.

. selenio clic (elementLocator); . selenio waitForPageToLoad (waitPeriod);

En lugar de duplicar est e cdigo se podr a escr ibir un m t odo cont enedor que r ealiza am bas funciones.

7 de 15

28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

/ ** * Clicks y espera a que la pgina se cargue. * * ElementLocator param * WaitPeriod param * / public void clickAndWait (String elementLocator, String waitPeriod) . selenio clic (elementLocator); . selenio waitForPageToLoad (waitPeriod); }

'Operaciones Seguras "para Element Presencia


Ot r o uso com n de envolver m t odos selenio es com pr obar la pr esencia de un elem ent o en la pgina ant es de r ealizar alguna operacin. Est o a veces se llam a un "funcionam ient o segur o". Por ej em plo, el siguient e m t odo podr a ser ut ilizado para poner en pr ct ica una operacin segura que depende de un elem ent o espera estar presente.

/ ** * Selenum-RC - Clicks en elemento slo si est disponible en la pgina. * * ElementLocator param * / public void SafeClick (String elementLocator) { if (selenio. isElementPresent (elementLocator)) { . selenio clic (elementLocator); } Else { / / Uso de la API TestNG para iniciar sesin . Reportero de registro ("Elemento:" + elementLocator . + Selenio getLocation ()); } }

Est e ej em plo ut iliza la API 1 Selenio El selenio 2 per o t am bin es com pat ible con est o.

/ ** * El selenio-WebDriver - Clicks en elemento slo si est disponible en * * ElementLocator param * / public void SafeClick (String elementLocator) { WebElement WebElement = getDriver () findElement (Por if (WebElement! = null) { . selenio clic (elementLocator); } Else { / / Uso de la API TestNG para iniciar sesin . Reportero de registro ("Elemento:" + elementLocator . + GetDriver (), getURL ()); } }

8 de 15

En est e segundo ej em plo 'XXXX' es sim plem ent e un m ar cador de 28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin


}

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

En est e segundo ej em plo 'XXXX' es sim plem ent e un m ar cador de posicin para uno de los m lt iples m t odos de localizacin que se puede llam ar aqu. El uso de m t odos segur os depende de la discr ecin del desar r ollador de pr uebas. Por lo t ant o, si la ej ecucin de la pr ueba se va a cont inuar, incluso en la est ela de los elem ent os que falt an en la pgina, a cont inuacin, los m t odos segur os se podr an ut ilizar, m ient ras se enviaba un m ensaj e a un r egist r o sobr e el elem ent o que falt a. Est o, en esencia, im plem ent a un 'ver ificar ' con un m ecanism o de pr esent acin de infor m es en oposicin a un abor t ivo valer. Per o si el elem ent o debe est ar disponible en la pgina con el fin de poder llevar a cabo ot ras operaciones ( por ej em plo, el bot n de inicio de sesin en la pgina pr incipal de un por t al) , ent onces no se debe ut ilizar est a t cnica m t odo segur o.

Mapping UI
Un m apa de la int er faz de usuar io es un m ecanism o que alm acena t odos los localizador es de un conj unt o de pr uebas en un m ism o lugar para una fcil m odificacin cuando ident ificador es o r ut as de acceso a los elem ent os de int er faz de usuar io cam bia la AUT. El scr ipt de pr ueba a cont inuacin, ut iliza el Mapa UI para localizar los elem ent os a ensayar. Bsicam ent e, un m apa de int er faz de usuar io es un r eposit or io de obj et os de scr ipt de pr ueba que cor r esponden a elem ent os de int er faz de usuar io de la aplicacin que est siendo probado. Lo que lo hace t il un m apa de int er faz de usuar io? Su obj et ivo pr incipal es hacer la gest in de scr ipt de pr ueba m ucho m s fcil. Cuando un localizador necesit a ser edit ado, hay una ubicacin cent ral para que sea fcil encont rar ese obj et o, en lugar de t ener que buscar a t ravs de cdigo de scr ipt de pr ueba. Adem s, per m it e cam biar el ident ificador en un solo lugar, en vez de t ener que hacer el cam bio en var ios lugar es dent r o de un scr ipt de pr ueba, o para el caso, en var ios scr ipt s de pr ueba. En r esum en, un m apa de la int er faz de usuar io t iene dos vent aj as im por t ant es. Con una ubicacin cent ralizada para los obj et os de int er faz de usuar io en lugar de t ener los espar cidos por t odo el guin. Esto hace que el m ant enim ient o guin m s eficient e. I dent ificador es HTML Cr ypt ic y los nom br es se pueden dar m s nom br es legibles para m ej orar la legibilidad de los scr ipt s de prueba. Consider e lo siguient e, difcil de ent ender, el ej em plo ( en Java) .

9 de 15

testNew public void () throws Exception { . selenio abierto ("http://www.test.com"); . selenio tipo ("LoginForm: tbUsername", "xxxxxxxx"); . selenio clic ("LoginForm: btnLogin"); . selenio clic ("adminHomeForm: _activitynew"); . selenio waitForPageToLoad ("30000"); selenio, haga clic en ("addEditEventForm: _IDcancel").; . selenio waitForPageToLoad ("30000"); . selenio clic ("adminHomeForm: _activityold"); 28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
. selenio waitForPageToLoad ("30000"); selenio, haga clic en ("addEditEventForm: _IDcancel").; . selenio waitForPageToLoad ("30000"); . selenio clic ("adminHomeForm: _activityold"); . selenio waitForPageToLoad ("30000");

Est a secuencia de com andos ser a difcil de seguir para cualquier per sona que no est n fam iliar izados con la fuent e de la pgina de la AUT. I ncluso los usuar ios r egular es de la aplicacin pueden t ener dificult ades para ent ender lo que la escr it ura lo hace. Una m ej or guin podr a ser :

testNew public void () throws Exception { . selenio abierto ("http://www.test.com"); . selenio tipo (nombre de usuario admin, "xxxxxxxx".); selenio haga clic (admin loginbutton.).; selenio haga clic (admin eventos createnewevent..).; . selenio waitForPageToLoad ("30000"); selenio, haga clic en (eventos de administracin cancelar..) . selenio waitForPageToLoad ("30000"); selenio haga clic (admin eventos viewoldevents..).; . selenio waitForPageToLoad ("30000"); }

Ahora, con algunos com ent ar ios y espacios en blanco, j unt o con la int er faz de usuar io Mapa ident ificador es hace una escr it ura m uy legible.

testNew public void () throws Exception { Url / / app abierta. . selenio abierto ("http://www.test.com"); / / Proporcionar nombre de usuario admin. . selenio tipo (nombre de usuario admin, "xxxxxxxx".); / / Haga clic en el botn Login. selenio haga clic (admin loginbutton.).; / / Haga clic en el botn Crear nuevo evento. selenio haga clic (admin eventos createnewevent..).; . selenio waitForPageToLoad ("30000");

/ / Click en el botn Cancelar. selenio, haga clic en (eventos de administracin cancelar..) . selenio waitForPageToLoad ("30000"); / / Click en el botn Ver eventos antiguos. selenio haga clic (admin eventos viewoldevents..).; . selenio waitForPageToLoad ("30000"); }

10 de 15

Hay var ias m aneras en que un m apa de int er faz de usuar io se puede im plem ent ar. Se podr a cr ear una clase o est r uct ura que slo alm acena var iables de cadena pblica cada alm acenar un localizador. Alt er nat ivam ent e, podr a ut ilizar se un ar chivo de t ext o alm acenar par es de valor es clave. En Java, un ar chivo de pr opiedades que 28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

alm acena var iables de cadena pblica cada alm acenar un localizador. Alt er nat ivam ent e, podr a ut ilizar se un ar chivo de t ext o alm acenar par es de valor es clave. En Java, un ar chivo de pr opiedades que cont iene par es clave / valor es pr obablem ent e el m ej or m t odo. Consider e la posibilidad de una pr opiedad prop.properties ar chivos que asigna com o ident ificador es de fcil lect ura 'alias' para los elem ent os de la int er faz de usuar io del ej em plo ant er ior.
admin.username = LoginForm: tbUsername admin.loginbutton = LoginForm: btnLogin admin.events.createnewevent = adminHomeForm: _activitynew admin.events.cancel = addEditEventForm: _IDcancel admin.events.viewoldevents = adminHomeForm: _activityold

Los localizador es seguir n r efer ir se a obj et os HTML, per o hem os int r oducido una capa de abst raccin ent r e el scr ipt de pr ueba y los elem ent os de la int er faz de usuar io. Los valor es se leen del ar chivo de pr opiedades y se ut ilizan en la clase de pr ueba para poner en pr ct ica el Mapa UI . Para m s infor m acin sobr e los ar chivos de pr opiedades Java consult e el siguient e enlace .

Pgina objeto Design Pattern


Obj et o de la pgina es un pat r n de diseo que se ha popular izado en la aut om at izacin de pr uebas para m ej orar el m ant enim ient o de pr ueba y r educir la duplicacin de cdigo. Un obj et o de pgina es una clase or ient ada a obj et os que sir ve de int er faz a una pgina de la AUT. Las pr uebas se ut ilizan los m t odos de est a pgina de clase de obj et o cada vez que necesit an para int eract uar con la pgina de la int er faz de usuar io. La vent aj a es que si los cam bios de int er faz de usuar io de la pgina, las pr opias pr uebas no t ienen que cam biar, slo el cdigo dent r o del obj et o de la pgina t iene que cam biar. Post er ior m ent e t odos los cam bios para apoyar est a nueva int er faz de usuar io se encuent r an en un solo lugar. El obj et o de pgina pat r n de diseo pr opor ciona las siguient es ventajas. 1. Hay una separacin lim pia ent r e el cdigo de pr ueba y la pgina de cdigos especfica, com o localizador es ( o su uso si est s usando un m apa UI ) y el diseo. 2. Hay un solo depsit o para los ser vicios u operaciones que ofr ece la pgina en lugar de t ener est os ser vicios disper sos a t ravs de las pruebas. En am bos casos, est o per m it e que las m odificaciones necesar ias debido a los cam bios de int er faz de usuar io a t odos pueden hacer en un solo lugar. I nfor m acin t il sobr e est a t cnica se puede encont rar en num er osos blogs com o est e "pat r n de diseo de la pr ueba" se est convir t iendo en am pliam ent e ut ilizado. Animamos al lector que quiera saber ms que buscar en la Internet para blogs sobre el tema. Muchos han escr it o sobr e est e m odelo de diseo y pueden pr opor cionar consej os t iles m s all del alcance de est a gua. Para em pezar, sin em bar go, vam os a ilust r ar obj et os de la pgina con un ej em plo sencillo. En pr im er lugar, consider em os un ej em plo t pico de la aut om at izacin de pr uebas, que no ut iliza un obj et o de la pgina. 11 de 15 28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

de pr uebas, que no ut iliza un obj et o de la pgina.

/ *** * Pruebas de funcin de inicio de sesin * / Login clase pblica {

testLogin public void () { . selenio tipo ("inputBox", "testuser"); . selenio tipo ("password", "mi contrasea supersecreto") selenio, haga clic en ("sign-in").; . selenio waitForPageToLoad ("PageWaitPeriod"); Afirme. AssertTrue (selenio. IsElementPresent (botn "com "Inicio de sesin no tuvo xito"); } }

Hay dos pr oblem as con est e enfoque. 1. No hay separacin ent r e el m t odo de pr ueba y los localizador es ( AUT I D en est e ej em plo) , am bos est n ent r elazados en un solo mtodo. Si la int er faz de usuar io de la AUT cam bia sus ident ificador es, la disposicin, o cm o un inicio de sesin es la ent rada y pr ocesados, la pr ueba en s debe cam biar. 2. El id- localizador es se ext ienden en var ias pr uebas, t odas las pr uebas que t uvier on que usar est a pgina de acceso. La aplicacin de las t cnicas obj et o paginacin est e ej em plo se podr a r eescr ibir as en el siguient e ej em plo de un obj et o de pgina de una pgina de inicio de sesin de.

/ ** * Page objeto encapsula la pgina de registro. * / public class SignInPage { Selenio El selenio privado;

pblica SignInPage (selenio selenio) { esta selenio = selenio.; if (! selenio. getTitle (). equals ("pgina de registro") throw new IllegalStateException ("Esto no es firm . + Selenio getLocation } } / ** Ingresar como usuario vlido

* * * * * *

12 de 15

@ Param userName @ Param contrasea @ Return objeto HomePage / loginValidUser HomePage pblica (String nombre de usuario, String . selenio tipo ("usernamefield", nombre de usuario); . selenio tipo ("passwordField", contrasea); selenio, haga clic en ("sign-in").; . selenio waitForPageToLoad ("waitPeriod");

28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
. selenio tipo ("passwordField", contrasea); selenio, haga clic en ("sign-in").; . selenio waitForPageToLoad ("waitPeriod"); return new HomePage (selenio); }

y el obj et o de pgina de una pgina de inicio podr a t ener est e aspecto.

/ ** * Page objeto encapsula la pgina de inicio * / HomePage public class { Selenio El selenio privado;

HomePage pblico (selenio selenio) { if (! selenio. getTitle (). equals ("Home Page del usuari throw new IllegalStateException ("No se trata de "Es:" + selenio getLocation } }

manageprofile HomePage pblica () { / / Page encapsulacin para administrar funcionalidad del return new HomePage (selenio); }

/ * Ms mtodos que ofrezcan los servicios representados por Pgi de Acceso de Usuario. Estos mtodos, a su vez podran volver ms pginas Por ejemplo, haga clic en el botn Redactar correo podra regresar objeto }

As que ahora, la pr ueba de acceso usar a est os dos obj et os de la pgina siguient e.

/ *** * Pruebas de funcin de inicio de sesin * / public class TestLogin {

testLogin public void () { SignInPage signInPage = new SignInPage (selenio); Pgina principal Pgina principal = signInPage loginValid Afirme. AssertTrue (selenio. IsElementPresent (botn "com "Inicio de sesin no tuvo xito"); } }

13 de 15

Hay una gran flexibilidad en cm o se pueden disear los obj et os de la pgina, per o hay algunas r eglas bsicas para obt ener la capacidad de m ant enim ient o deseada de su cdigo de pr ueba. Obj et os Page m ism os nunca deben hacer ver ificaciones o afir m aciones. Est o es par t e de la pr ueba y debe ser siem pr e en el cdigo de la pr ueba, nunca en un obj et o de pgina. El obj et o de pgina cont endr la r epr esent acin de 28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

nunca deben hacer ver ificaciones o afir m aciones. Est o es par t e de la pr ueba y debe ser siem pr e en el cdigo de la pr ueba, nunca en un obj et o de pgina. El obj et o de pgina cont endr la r epr esent acin de la pgina y los ser vicios de la pgina ofr ece a t ravs de m t odos per o ningn cdigo r elacionado con lo que se est pr obando debe est ar dent r o del obj et o de pgina. Hay uno, solo, la ver ificacin que puede, y debe, est ar dent r o del obj et o de pgina y que consist e en ver ificar que la pgina, y posiblem ent e los elem ent os cr t icos en la pgina, se han car gado correctamente. Est a ver ificacin se debe hacer al cr ear la inst ancia del obj et o de pgina. En los ej em plos ant er ior es, t ant o el SignI nPage y const r uct or es Hom ePage com pr uebe que la pgina espera que est disponible y list o para las solicit udes de la pr ueba. Obj et o pgina no t iene por qu r epr esent ar una pgina ent era. El obj et o de pgina pat r n de diseo puede ser usado para r epr esent ar los com ponent es en una pgina. Si una pgina de la AUT t iene var ios com ponent es, puede m ej orar la m ant enibilidad si haba un obj et o de pgina difer ent e para cada com ponent e. Hay ot r os pat r ones de diseo que t am bin pueden ser ut ilizados en las pruebas. Algunos ut ilizan una pgina de fbr ica para cr ear inst ancias de los obj et os de la pgina. Hablar de t odo est o est m s all del alcance de est a gua del usuar io. Aqu, sim plem ent e quer em os int r oducir los concept os para que el lect or conscient e de algunas de las cosas que se pueden hacer. Com o se m encion ant er ior m ent e, m uchos han escr it o en su blog sobr e est e t em a y anim ar al lect or a buscar blogs sobr e est os t em as.

Data Driven Testing


Dat a Dr iven Test ing se r efier e a la ut ilizacin de la m ism a pr ueba ( o pr uebas) var ias veces con difer ent es dat os. Estos conjuntos de datos son a m enudo de ar chivos ext er nos, es decir. CSV, ar chivos de t ext o, o t al vez car gadas desde una base de dat os. Dat os im pulsado pr uebas es una t cnica de aut om at izacin de pr uebas de uso general ut ilizado para validar la solicit ud de ent rada en cont ra de m uchas var iables. Cuando la pr ueba se ha diseado para var iar los dat os, los dat os de ent rada se pueden am pliar, esencialm ent e la cr eacin de pr uebas adicionales, sin r equer ir cam bios en el cdigo de pr ueba. En Python:

El scr ipt Pyt hon ant er ior abr e un ar chivo de t ext o. Est e ar chivo cont iene una cadena de bsqueda difer ent e en cada lnea. El cdigo a cont inuacin, guar da est o en una m at r iz de cadenas, y se r epit e en el conj unt o haciendo una bsqueda y hacer valer en cada cadena. Est e es un ej em plo m uy bsico, per o la idea es m ost rar que la ej ecucin de una pr ueba con difer ent es dat os se puede hacer fcilm ent e con una pr ogram acin o lenguaj e de scr ipt ing. Para ms ej em plos, consult e el RC wiki selenio ej em plos de lect ura de dat os de una hoj a de clculo o para el uso de las capacidades del pr oveedor de dat os de Test NG. Adem s, est e es un t em a m uy conocido ent r e los pr ofesionales de aut om at izacin de pr uebas, incluyendo aquellos que no ut ilizan el selenio para la bsqueda en I nt er net de "pr uebas cont r oladas por dat os" debe r evelar m uchos blogs sobr e el t em a. 14 de 15

Validacin Database

28/05/2013 7:40

Prueba Consideraciones de diseo - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

cont r oladas por dat os" debe r evelar m uchos blogs sobr e el t em a.

Validacin Database
Ot r o t ipo com n de las pr uebas es para com parar los dat os en la int er faz de usuar io con los dat os alm acenados en r ealidad en la base de datos de AUT. Dado que t am bin se puede hacer consult as de base de dat os a par t ir de un lenguaj e de pr ogram acin, suponiendo que t iene las funciones de apoyo de base de dat os, se puede ut ilizar para r ecuperar los dat os y luego ut ilizar los dat os para ver ificar lo que se m uest ra por la AUT es cor r ect a. Consider em os el ej em plo de una dir eccin de cor r eo elect r nico r egist rada que se r ecupera de una base de dat os y luego com para con la int er faz de usuar io. Un ej em plo de est ablecer una conexin de base de dat os y r ecuperar dat os de la base de dat os podr a t ener est e aspecto. En Java:

/ Driver / Load Microsoft SQL Server JDBC. Clase forName ("com.microsoft.sqlserver.jdbc.SQLServerDriver").; / / Preparar url conexin. String url = "jdbc: sqlserver :/ / 192.168.1.180:1433; DatabaseName = / / Obtener la conexin a base de datos. Conexin esttica pblica con = . DriverManager getConnection (url, "username", "password");

/ / Crear un objeto de declaracin en la que se utiliza en la escritura d / / Declaracin de SQL. . public static Statement stmt = con createStatement ();

/ / Enviar SQL SELECT a la base de datos a travs de la Statement.execute / / Mtodo que devuelve la informacin solicitada como filas de datos en / / Objeto ResultSet. Resultado ResultSet = stmt. ExecuteQuery ("SELECT TOP 1 email_address de user_register_table"); / / Obtener valor de "email_address" de objeto "resultado". . Cadena EmailAddress = resultado getString ("email_address"); / / Usar el valor emailAddress para iniciar sesin en la aplicacin. . selenio tipo ("ID de usuario", EmailAddress); . selenio tipo ("password", secretpassword); . selenio clic ("loginButton"); . selenio waitForPageToLoad (tiempo de espera); Afirme. AssertTrue (selenio. IsTextPresent ("Bienvenido de vuelta"

Est e es un ej em plo sencillo de Java de r ecuperacin de dat os de una base de datos.

Navegacin

15 de 15

28/05/2013 7:40

Selenio-Grid - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Nota: En estos momentos estamos trabajando en este captulo. Actualmente contamos con informacin introductoria aqu para las personas completamente nuevas para Selnium-Grid. En los prximos meses esperamos poder ofrecer ejemplos e ilustraciones tiles para explicar a fondo cmo utilizar Selenio-Grid.

Inicio rpido
Si ya t iene exper iencia en la aut om at izacin de pr uebas de selenio puede sim plem ent e necesit ar un inicio r pido para em pezar a funcionar. Est e capt ulo t iene m ucha infor m acin or ient ada a m uchos niveles, per o puede ser dem asiado si ust ed est buscando sim plem ent e una r efer encia r pida para t rat ar con rapidez las cosas. Par a un inicio r pido, consult e los ar t culos Selenio- Gr id en el Wiki de selenio .

Qu es el selenio-Grid?
Selenio- Gr id le per m it e ej ecut ar las pr uebas en difer ent es equipos cont ra difer ent es navegador es en paralelo. Es decir, la ej ecucin de var ias pr uebas a la vez cont ra difer ent es equipos que ej ecut an difer ent es navegador es y sist em as operat ivos. Esencialm ent e, el apoyo Selenio- Gr id dist r ibuida ej ecucin de la pr ueba. Se per m it e la publicacin de sus pr uebas en un ent or no de ejecucin de pruebas distribuidas.

Cundo utilizarlo
En t r m inos generales, hay dos razones por las que podr a quer er ut ilizar Selenio- Gr id. Par a ej ecut ar las pr uebas en cont ra de var ios navegador es, m lt iples ver siones de navegador y navegador es que se ej ecut an en difer ent es sist em as operat ivos. Par a r educir el t iem po que t om a para que el conj unt o de pr uebas para com plet ar un pase de pr ueba. El selenio- Gr id se ut iliza para acelerar la ej ecucin de un paso de la pr ueba m ediant e el uso de var ias m quinas para ej ecut ar pr uebas en paralelo. Por ej em plo, si ust ed t iene un conj unt o de 100 pr uebas, per o se configura Selenio- Gr id para apoyar 4 diver sas m quinas ( m quinas vir t uales o m quinas fsicas separadas) para ej ecut ar las pr uebas, su conj unt o de pr uebas t er m inar en ( m s o m enos) una cuar t a par t e del t iem po com o lo har a si se ej ecut aba sus pr uebas de m anera secuencial en una sola m quina. Par a los grandes bancos de pr uebas, y la suit e de pr uebas de lar ga duracin, com o los que r ealizan grandes cant idades de dat os de validacin, est o puede ser un ahor r o de t iem po significat ivo. Algunos bancos de pr uebas pueden t ar dar horas en ejecutarse. Ot ra razn para aum ent ar el t iem po dedicado a cor r er la suit e es acor t ar el t iem po de ent r ega de r esult ados de la pr ueba despus de los desar r ollador es de r egist r o de ent rada en cdigo de la 28/05/2013 7:40

1 de 6

Selenio-Grid - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... ejecutarse. Ot ra razn para aum ent ar el t iem po dedicado a cor r er la suit e es acor t ar el t iem po de ent r ega de r esult ados de la pr ueba despus de los desar r ollador es de r egist r o de ent rada en cdigo de la AUT. Cada vez m s los equipos de soft war e que pract ican el desar r ollo gil de soft war e quier en r et r oalim ent acin pr ueba t an inm ediat am ent e com o sea posible en lugar de esperar t oda la noche para una ser ie de pr uebas durant e la noche. Selenio- Gr id t am bin se usa para apoyar la r ealizacin de pr uebas en cont ra de var ios ent or nos de ej ecucin, en par t icular, cont ra los difer ent es navegador es al m ism o t iem po. Por ej em plo, una "r ed" de la m quina vir t ual se puede configurar con cada uno sopor t ando un navegador difer ent e que la aplicacin sea pr obada debe sopor t ar. Por lo t ant o, la m quina 1 t iene I nt er net Explor er 8, la m quina 2, I nt er net Explor er 9, la lt im a m quina de 3 Chr om e, y la m quina 4 la lt im a ver sin de Fir efox. Al ej ecut ar el conj unt o de pr uebas, Selenio- Gr id r ecibe cada com binacin de pr uebas del navegador y assigs cada pr ueba se ej ecut e en cont ra del navegador r equer ida. Adem s, uno puede t ener una r ej illa de t odo el navegador m ism o, el t ipo y la ver sin. Por ej em plo, uno podr a t ener una r ej illa de 4 m quinas de cada 3 casos de funcionam ient o Fir efox 12, lo que per m it e una 'granj a de ser vidor es' ( en un sent ido) de inst ancias Fir efox disponibles. Cuando se ej ecut a la suit e, cada pr ueba se pasa al selenio- Gr id que asigna la pr ueba a la siguient e inst ancia Fir efox disponible. De est a m anera se obt iene la pr ueba pasa cuando posiblem ent e 12 pr uebas est n ej ecut ando al m ism o t iem po, en paralelo, lo que r educe significat ivam ent e el t iem po r equer ido para com plet ar una ser ie de pr uebas. Selenio- Gr id es m uy flexible. Est os dos ej em plos se pueden com binar para per m it ir que m lt iples inst ancias de cada t ipo de navegador y la ver sin. Una configuracin de est e t ipo pr opor cionar a t ant o, la ej ecucin en paralelo para com plet ar el ciclo de pr ueba r pido y sopor t e para m lt iples t ipos de navegador es y ver siones sim ult neam ent e.

Selenio-Grid 2.0
Selenio- Gr id 2.0 es la lt im a ver sin de la r edaccin de est e documento (5/26/2012). Es m uy difer ent e de la ver sin 1 del Selenio- Gr id. En 2.0 Selenio- Gr id se fusion con el ser vidor de selenio- RC. Ahora, slo t iene que descar gar un nico ar chivo. Jar para obt ener el cont r ol r em ot o RC- Selenio- Ser ver y selenio- Gr id en un solo paquete.

Selenio-Grid 1.0
Ver sin 1 fue el pr im er lanzam ient o general de selenio- Gr id. Si er es nuevo en selenio- Gr id se debe ut ilizar la ver sin 2. Se ha act ualizado y t iene nuevas caract er st icas, y sopor t a selenio WebDr iver. Sist em as de pr ueba legado an pueden est ar ut ilizando la ver sin 1 sin embargo. I nfor m acin de la ver sin del Selenio- Gr id 1 puede encont rar se en el sit io web de selenio- Gr id .

Cmo Selenio-Grid Works-Con un Hub y Nodos


Una r ej illa const a de un solo cent r o, y uno o m s nodos. Ambos se em pezar on a ut ilizar el ej ecut able selenio ser ver.j ar. Hemos enum erado algunos ej em plos en las siguient es secciones de est e capt ulo. 2 de 6 28/05/2013 7:40

Selenio-Grid - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... enum erado algunos ej em plos en las siguient es secciones de est e capt ulo. El cent r o r ecibe una pr ueba para ser ej ecut ado j unt o con infor m acin sobr e el navegador y la "plat afor m a" ( es decir, Windows, Linux, et c) donde se debe ej ecut ar la pr ueba. No "sabe" la configuracin de cada nodo que se ha 'r egist rado' en el cubo. Usando est a infor m acin se selecciona un nodo disponible que t iene la com binacin navegador plat afor m a solicit ada. Una vez que se ha seleccionado un nodo, los com andos de selenio iniciados por la pr ueba son enviar el el cubo, lo que les pasa al nodo asignado a esa pr ueba. El nodo se ej ecut a el navegador y ej ecut a los com andos de selenio en ese navegador en cont ra de la aplicacin en pr uebas. Un diagram a que ilust ra est o. Consult e el segundo diagram a en est a pgina ( el pr im er o est ilust rando selenio- RC) . El segundo diagram a fue para el Selenio- Gr id 1, sin em bar go, sigue siendo vlida y es un buen ej em plo de lo que est am os descr ibiendo aqu. La nica difer encia es uno de t er m inologa. Vuelva a colocar el t r m ino "selenio cont r ol r em ot o" con "nodo de selenio- Gr id 'el diagram a coincidir con nuest ra descr ipcin de selenio- Gr id 2.

Instalacin
La inst alacin es sim ple. Descar gue el ar chivo j ar Selenio- Ser ver de la pgina de descar ga del sit io web Selenium Hq . Ust ed quier e que el enlace en la seccin "El selenio- Ser ver ( ant er ior m ent e selenio- RC) ". I nst alar en una car pet a de su eleccin. Usted tendr que asegurarse de que el ej ecut able de j ava se encuent ra en su r ut a de ej ecucin para que pueda ej ecut ar lo desde la lnea de com andos. Si no se ej ecut a cor r ect am ent e, pr incipalm ent e ver ificar var iable de r ut a de su sist em a incluye la r ut a de acceso al j ava.exe.

A partir Selenio-Grid
En general, ust ed com enzar a un cent r o pr im er o desde nodos dependen de un hub. Sin em bar go, est o no es abolut ely necesar io, ya que los nodos pueden r econocer cuando un cent r o se ha iniciado y vice-ver sa. Para fines de apr endizaj e, sin em bar go, que ser a m s fcil em pezar el ej e pr im er o, de lo cont r ar io ver m ensaj es de er r or que no quieran em pezar con la pr im era vez que el uso de selenio- Gr id.

Inicio de un Hub
Para iniciar un cubo con los par m et r os por defect o, ej ecut e el com ando siguient e desde una vent ana de lnea de com andos. Esto funciona en t odas las plat afor m as de Windows, Linux o MacOS.
java-jar hub selenio-server-standalone-2.21.0.jar-funcin

As se inicia un hub ut ilizando los par m et r os por defect o. Vamos a explicar est os par m et r os en folowing subsecciones. Tenga en cuent a que es pr obable que t enga que cam biar el nm er o de ver sin en el nom br e del ar chivo j ar dependiendo de la ver sin del ser vidor de selenio que est ut ilizando.

A partir de un nodo
Para iniciar un nodo ut ilizando los par m et r os por defect o, ej ecut e el com ando siguient e desde una lnea de com andos. 3 de 6

java-jar-servidor de selenio-standalone-2.21.0.jar del rol28/05/2013 de nodo 7:40 con

Selenio-Grid - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

el com ando siguient e desde una lnea de com andos.

java-jar-servidor de selenio-standalone-2.21.0.jar del rol de nodo con

Est o supone que el cubo se ha iniciado ant er ior m ent e ut ilizando los parmetros por defecto. El puer t o por defect o el ej e ut iliza para escuchar las nuevas solicit udes es el puer t o 4444. Est a es la razn por el puer t o 4444 se ut iliz en la URL para localizar el cubo. Tam bin el uso de 'localhost ' asum e que el nodo se est ej ecut ando en la m ism a m quina que el concent rador. Para Empezar Esta es pr obablem ent e m s fcil. Si est usando el hub y el nodo en m quinas separadas, sim plem ent e r eem place 'localhost ' con el nom br e de la m quina r em ot a ej ecut ando el concent rador. ADVERTENCI A: Asegr ese de apagar los ser vidor es de segur idad en el equipo que ej ecut a el cubo y nodos. De lo cont rar io, puede obt ener er r or es de conexin.

Configuracin de selenio-Grid
Configuracin predeterminada JSON archivo de configuracin Configuracin mediante las opciones de lnea de comandos

Configuracin del concentrador


Par a ej ecut ar el cubo con las opciones por defect o, sim plem ent e hub indicar el papel que la Selenim - Ser ver
java-jar selenio-server-standalone-2.21.0.jar-hub

Ust ed debe ver la siguient e salida de r egist r o.

19 de julio 2012 10:46:21 AM org.openqa.grid.selenium.GridLauncher princ INFO: Lanzamiento de un servidor de red de selenio 2012-07-19 10:46:25.082: INFO: osjs.Server: embarcadero-7.xy-SNAPSHOT 2012-07-19 10:46:25.151: INFO: osjsh.ContextHandler: osjsServletContextHa 2012-07-19 10:46:25.185: INFO: osjs.AbstractConnector: Comienza SocketCon

Especificacin del puerto


El puer t o por defect o ut ilizado por el cent r o es 4444. El puer t o que se r efier e or, es el puer t o TCP / I P que se ut iliza cuando el "client e", es decir, las pr uebas aut om at izadas se conect an al hub Selenio- Gr id. Si ot ra aplicacin en su equipo ya est ut ilizando est e puer t o, o si ust ed ya t iene una Selenio- Ser ver inicia, ver el siguient e m ensaj e en la salida del r egist r o.
10:56:35.490 WARN - Error al iniciar: SocketListener0@0.0.0.0: 4444 Excepcin en el hilo java.net.BindException "principal": El selenio ya

Si est o ocur r e, puede o bien apagar el ot r o pr oceso que est ut ilizando el puer t o 4444, o se puede decir Selenio- Gr id para ut ilizar un puer t o difer ent e para su cent r o de operaciones. Ut ilice la opcin- por t para cam biar el puer t o ut ilizado por el cent r o.
java-jar-servidor de selenio-standalone-2.21.0.jar-role hub-port 4441

4 de 6

28/05/2013 7:40

Selenio-Grid - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

java-jar-servidor de selenio-standalone-2.21.0.jar-role hub-port 4441

Est o funciona incluso si ot r o hub ya se est ej ecut ando en la m ism a m quina, es decir, siem pr e y cuando los dos son no ut iliza el puer t o 4441. Es posible, sin em bar go, quier e ver qu pr oceso est ut ilizando el puer t o 4444 para que pueda per m it ir al concent rador para ut ilizar el valor pr edet er m inado. Para ver los puer t os ut ilizados por t odos los pr ogram as que se ej ecut an en el equipo ut ilice el com ando.
netstat-a

Est o deber a funcionar en t odos los sist em as sopor t ados, Unix / Linux, MacOS y Windows, aunque ot ras opciones m s all- a pueden ser r equer idos. Bsicam ent e, ust ed necesit a m ost rar el I D del pr oceso j unt o con el puer t o. En Unix puede 'gr ep' la salida ( usar una t uber a) desde el nm er o de puer t o para m ost rar slo los r egist r os que ests preocupado con.

Configuracin del nodo Timing Parmetros Obtener la lnea de comandos de ayuda


El selenio- Ser ver pr opor ciona list ados de las opciones disponibles con una br eve descr ipcin de cada uno. En la act ualidad ( verano 2012) , la ayuda de lnea de com andos t iene algunas rar ezas, per o puede ser t il si ust ed sabe dnde buscar y cm o int er pr et ar la infor m acin. El selenio- Ser ver pr opor ciona dos funciones dist int as, la del ser vidor de selenio- RC y la de selenio- Gr id. Est os fuer on pr obablem ent e escr it os por difer ent es equipos de selenio, por lo que la ayuda de lnea de com andos para cada funcin ha t er m inado en dos lugar es difer ent es. Y , para el nuevo usuar io, puede no ser evident e en un pr im er m om ent o cul de los dos est viendo. Si ust ed sim plem ent e pasa una opcin- h com o se podr a suponer pr im er o, se obt iene las opciones de ser vidor con selenio RC per o no las de selenio- Gr id.
java-jar selenio-server-standalone-2.21.0.jar-h

Est o le dar a opciones de ser vidor de selenio- RC. Si desea que la ayuda de lnea de com andos para el Selenio- Gr id, que ut iliza por pr im era vez el cent r o de las opciones o de nodo para cont ar SelenioSer ver est int er et ed en selenio- Gr id, y luego seguir con un- h.
java-jar-papel selenio-server-standalone-2.21.0.jar nodo h

O, para el caso, slo t iene que pasar un ar gum ent o basura para el papel de nodo de la siguient e m anera.
java-jar selenio-server-standalone-2.21.0.jar-role xx nodo

5 de 6

Ust ed pr im er o consult e "I NFO ..." y un "er r or ", per o por debaj o de que obt endr las opciones de lnea de com andos para el Selenio- Gr id. No vam os a enum erar t oda la salida de aqu, ya que es bast ant e lar go, 28/05/2013 7:40

Selenio-Grid - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... Ust ed pr im er o consult e "I NFO ..." y un "er r or ", per o por debaj o de que obt endr las opciones de lnea de com andos para el Selenio- Gr id. No vam os a enum erar t oda la salida de aqu, ya que es bast ant e lar go, per o las pr im eras lneas de est e aspect o.

19 de julio 2012 10:10:39 AM org.openqa.grid.selenium.GridLauncher princ INFO: Lanzamiento de un nodo de red de selenio org.openqa.grid.common.exception.GridConfigurationException: Es necesario en org.openqa.grid.common.RegistrationRequest.validate (Registrat en en org.openqa.grid.selenium.GridLauncher.main (GridLauncher.java: Error construccin de la config: Es necesario especificar un centro de reg Uso: -HubConfig: (Hub) de un archivo JSON raz formato grid2.

-NodeTimeout: (Nodo) <xxxx> el tiempo de espera en segundos antes de que el cen finaliza automticamente una prueba de que no ha tenido activid navegador sec.The ser lanzado para otra prueba para uso.Este normalmente se hace cargo de el cliente se bloquea.

Errores Comunes
No se puede acess la jarfile
No se puede acceder jarfile selenio-server-standalone-2.21.0.jar

Est e er r or puede pr oducir se cuando se inicia ya sea en un cent r o o nodo. Est o significa que Java no puede encont rar el ar chivo j ar selenio ser vidor. O ut ilizar el com ando desde el dir ect or io donde se alm acena el ar chivo de selenio- ser ver -XXXX.j ar, o especificar una r ut a explcit a a la j ar ra.

Solucin de problemas
Navegacin

6 de 6

28/05/2013 7:40

El usuario Extensiones - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

NOTA: Esta seccin est a punto de finalizar, pero no ha sido revisado y editado.

Introduccin
Ext ender selenio aadiendo sus pr opias acciones, afir m aciones y localizacin- est rat egias puede ser bast ant e sim ple. Agregar mtodos de JavaScr ipt para el pr ot ot ipo obj et o selenio y el pr ot ot ipo obj et o PageBot. En el inicio, el selenio se ver aut om t icam ent e a t ravs de los m t odos de est os pr ot ot ipos, ut ilizando pat r ones de nom br e de r econocer cules son las acciones, declaraciones y localizador es. Los siguient es ej em plos dan una indicacin de cm o Selenio se puede am pliar con JavaScr ipt .

Acciones
Todos los m t odos en el pr ot ot ipo de selenio que com ienzan con "qu" se agr egan com o acciones. Para cada accin foo t am bin hay un fooAndWait accin r egist rada. Un m t odo de accin puede t ar dar hast a dos par m et r os que se pasar n al segundo y t er cer valor es de colum na en la pr ueba. Ej em plo: Agr egar una accin "t ypeRepeat ed" de selenio, los t ipos dos veces el t ext o en un cuadr o de t ext o.

Accesores / afirmaciones
Se agregan todos Ut ilizar Foo Foo m t odos y es sobr e el pr ot ot ipo selenio com o descr ipt or es de acceso ( st or eFoo) . Para cada descr ipt or de acceso hay un asser t Foo, ver ifyFoo y wait For Foo r egist rados. Un m t odo valer puede t ar dar hast a 2 par m et r os que se pasar n al segundo y t er cer valor es de colum na en la pr ueba. Tam bin puede definir sus pr opias afir m aciones lit eralm ent e com o m t odos sim ples "valer ", que t am bin se aut o- generar "ver ificar " y com andos "Wait For ". Ej em plo: Agr egar una afir m acin valueRepeat ed, que se asegura de que el valor del elem ent o consist e en el t ext o sum inist rado r epet ido. Los 2 com andos que est ar an disponibles en pr uebas se asser t ValueRepeat ed y ver ifyValueRepeat ed.

Prototype genera comandos adicionales


Todos get foo y es Foo m t odos sobr e el pr ot ot ipo selenio pr oducen aut om t icam ent e el r esult ado en la disponibilidad de com andos wait For Not Foo st or eFoo, asser t Foo, asser t Not Foo, ver ifyFoo, ver ifyNot Foo, wait For Foo, y. Por ej em plo, si se agr ega un m t odo getTextLength (), los siguient es com andos ser aut om t icam ent e y comandos waitForNotTextLength.

1 de 3

Tam bin t enga en cuent a que el m t odo assertValueRepeated descr it o ant er ior m ent e podr a haber sido im plem ent ado usando

28/05/2013 7:41

El usuario Extensiones - Selenio Documentacin

http://translate.googleusercontent.com /translate_c?depth=1&hl=es&rurl=t...

Tam bin t enga en cuent a que el m t odo assertValueRepeated descr it o ant er ior m ent e podr a haber sido im plem ent ado usando isValueRepeated, con el beneficio aadido de for m a aut om t ica t am bin conseguir asser t Not ValueRepeat ed, st or eValueRepeat ed, wait For ValueRepeat ed y wait For Not ValueRepeat ed.

Localizador Estrategias
Se agr egan t odos los m t odos locat eElem ent ByFoo en el pr ot ot ipo PageBot com o localizador es- est r at egias. Una est rat egia de localizacin t iene 2 par m et r os, el pr im er o es la cadena de localizacin ( sin el pr efij o) , y el segundo es el docum ent o en el que buscar. Ej em plo: Aadir un "valuer epeat ed = " localizador, que encuent ra el pr im er elem ent o de un at r ibut o de valor igual a la del valor sum inist rado r epet ida.

Con-extensiones de usuario con selenio IDE


- Ext ensiones de usuar io son m uy fciles de usar con el I DE de selenio. 1. Cr ea t u ext ensin de usuar io y guar dar lo com o usuar io ext ensions.j s. Aunque est e nom br e no es t cnicam ent e necesar io, es una buena pr ct ica para m ant ener las cosas consist ent es. 2. Abr e Fir efox y abier t o selenio I DE. 3. Haga clic en Her ram ient as, Opciones de 4. En Selenio Ext ensiones Cor e clic en Exam inar y busque el usuar io ext ensiones. js. Haga clic en Acept ar. 5. El usuar io de la ext ensin no t odava ser car gado, debe cer rar y r einiciar selenio I DE. 6. En la pr ueba de vaco, cr ear un nuevo com ando, la ext ensin de usuar io debe ser ahora una de las opciones de los com andos desplegables.

Con-extensiones de usuario con selenio RC


Si Google "Selenio RC usuar io de ext ensin" diez veces ust ed encont rar diez enfoques difer ent es para ut ilizar est a funcin. A cont inuacin, es el enfoque oficial suger ido selenio.

Ejemplo
C# 1. Coloque la ext ensin del usuar io en el m ism o dir ect or io que el ser vidor de selenio. 2. Si est ut ilizando el cdigo de client e generado por el selenio I DE t endr que hacer un par de pequeas ediciones. En pr im er lugar, ust ed t endr que cr ear un obj et o HttpCommandProcessor con m bit o de clase ( fuera del m t odo SetupTest, justo debajo verificationErrors StringBuilder
privadas;) Proc HttpCommandProcessor;

2 de 3

3. A cont inuacin, una inst ancia de ese obj et o HttpCommandProcessor com o lo har a con el obj et o DefaultSelenium. Est o se puede hacer en la configuracin de 28/05/2013 7:41

El usuario Extensiones - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t... 3. A cont inuacin, una inst ancia de ese obj et o HttpCommandProcessor com o lo har a con el obj et o DefaultSelenium. Est o se puede hacer en la configuracin de la pr ueba.

proc = new HttpCommandProcessor ("localhost", 4444, "* iexplore", "htt

4. Una inst ancia del obj et o Default Selenium ut ilizando el obj et o HttpCommandProcessor ha creado.
selenio = new DefaultSelenium (proc);

5. Dent r o de su cdigo de pr ueba, ej ecut e la ext ensin de usuar io llam ando con el m t odo de HttpCommandProcessor DoCommand (). Este mtodo toma dos argumentos: una cadena para ident ificar el m t odo fcil de ext ensin que desea ut ilizar y m at r iz de cadenas para pasar ar gum ent os. Obser ve que la pr im era let ra de su funcin es en m insculas, independient em ent e de la capit alizacin de su ext ensin de usuar io. Selenio hace aut om t icam ent e para m ant ener las convenciones com unes de nom enclat ura de JavaScr ipt . Debido JavaScr ipt es sensible a m aysculas, la pr ueba fallar si com ienza est e com ando con un capit al. input Param s es la m at r iz de ar gum ent os que desea pasar al usuar io de ext ensin de JavaScr ipt . En est e caso slo hay una cadena en la m at r iz, por que slo hay un par m et r o para nuest ra ext ensin de usuar io, per o una m at r iz de una longit ud ser asignar cada ndice para el par m et r o de usuar io- ext ensin cor r espondient e. Recuer de que las ext ensiones de usuar io diseadas para el Selenio- I DE slo t om ar dos ar gum ent os.
string [] inputParams = {"Hello World"}; . proc DoCommand ("alertWrapper", inputParams);

6. I nicie el ser vidor de pr ueba con el argumento-userExtensions y pase el ar chivo por el usuario extensions.js.
java-jar selenio server.jar-userExtensions usuario extensions.js

Navegacin

3 de 3

28/05/2013 7:41

Selenio WebDriver chuleta - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Papel Interfaces basadas en selenio WebDriver


Una de las difer encias ent r e el selenio RC y el selenio WebDr iver es que las API WebDr iver hacen un am plio uso de "int er faces basadas en r oles" para per m it ir a los usuar ios det er m inar si un conduct or en par t icular es com pat ible con una funcin. Esto puede hacer que sea difcil saber qu funciones est n disponibles sin saber qu int er faz para tratar de usar. Las int er faces pr incipales se enum eran a cont inuacin. Interfaz HasCapabilit ies Papel Documentacin

Pr opor ciona acceso Java HasCapabilit ies.j ava a las funciones soportadas por est e cont r olador. Java Javascr ipt Execut or.j ava

Javascr ipt Execut or Per m it e la ej ecucin de comandos ar bit r ar ios JS. Girat or io I ndica si el cont r olador es com pat ible con girar la pant alla ( en su m ayor a slo los dr iver s m viles) . Pr opor ciona un m ecanism o para r ealizar capt uras de pant alla.

Java Rot at able.j ava

TakesScreenshot

Java TakesScreenshot.java

Navegacin

1 de 1

28/05/2013 7:41

Cmo instalar el controlador de Android - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Se t rat a de un m ar cador de posicin.

Navegacin

1 de 1

28/05/2013 7:41

Configuracin del controlador de cliente NET -. Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Conduct or client e. NET se puede ut ilizar con Micr osoft Visual St udio. Par a configurar con Visual St udio hacer as. I nicie Visual St udio y vaya a Ar chivo> Nuevo> Pr oyect o.

Seleccione C # > Bibliot eca de clases Visual> Nom br e del pr oyect o> Haga clic en el bot n Acept ar.

1 de 3

28/05/2013 7:42

Configuracin del controlador de cliente NET -. Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Se cr ea una clase ( . Cs) . Cam biar el nom br e si pr ocede.

Baj o panel der echo del Explorador de soluciones, haga clic en Refer encias> Agr egar r efer encias.

2 de 3

28/05/2013 7:42

Configuracin del controlador de cliente NET -. Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Seleccione los siguient es ar chivos dll - nm ock.dll, nunit .cor e.dll, nunit .fram ewor k.dll, Thought Wor ks. Selenium .Cor e.dll, Thought Wor ks.Selenium .I nt egrat ionTest s.dll, Thought Wor ks.Selenium .Unit Test s.dll y haga clic en el bot n Ok

Con est e Visual St udio est list o para el selenio casos de pr ueba.

Navegacin

3 de 3

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Una vez que haya cr eado su ar chivo pom .xm l en su pr oyect o, ust ed puede t ener Maven aut ogenerar los ar chivos necesar ios para el Pr oyect o Eclipse con un sim ple com ando:
mvn eclipse: Eclipse

A cont inuacin, abra eclipse. Elij a su r ea de t rabaj o o cr ear uno nuevo. Una vez que las car gas de Eclipse I DE, haga lo siguient e: # Ar chivo - > I m por t ar ... # General - > Pr oyect os exist ent es en Espacio de t rabaj o # # A cont inuacin haga clic en Siguient e para "Seleccionar dir ect or io raz: " haga clic en "Exam inar " # localizar la car pet a del pr oyect o que cont iene su pom .xm l y haga clic en Acept ar. # El pr oyect o debe apar ecer en el cuadr o de "Pr oyect os" ya # Haga clic en Finalizar Si no lo ha hecho, inst ale el plugin de m 2eclipse cont inuacin, haga clic der echo en el pr oyect o y seleccione Maven - > Habilit ar gest in de la dependencia.

Actualmente estamos trabajando en este apndice. La informacin aqu provista es precisa, aunque no se puede acabar. En est e apndice se ofr ecen los pasos, incluyendo capt uras de pant alla, que m uest ra cm o cr ear un pr oyect o de client e- dr iver Selenio 2,0 j ava en I nt elliJ I DEA. Est os pasos se supone que ya ha ut ilizado Maven con un ar chivo pom .xm l para configurar el pr oyect o. Este proceso se descr ibe en el capt ulo 2.0 Selenio. Ust ed debe haber seguido ese pr oceso ant es de poder r ealizar est os pasos. En est e apndice se m uest ra cm o im por t ar el pr oyect o j ava 2.0 Selenio m aven- cr eado en I nt elliJ. En pr im er lugar, I nt elliJ abier t a y desde la pgina de ent rada, haga clic en Crear Nuevo proyecto.

1 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Del nuevo dilogo de seleccin para im por t ar pr oyect os Pr oyect o de Modelo Ext er no.

2 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

En la list a de t ipos de pr oyect o, seleccione exper t o.

3 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Ahora ver un cuadr o de dilogo que le per m it e est ablecer las opciones del pr oyect o, incluyendo el dir ect or io raz del pr oyect o.

4 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Haga clic en el "..." bot n para est ablecer la car pet a raz.

Ahora el dilogo de configuracin m ost rar el dir ect or io que acaba de seleccionar.

5 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

El siguient e cuadr o de dilogo m uest ra el nom br e del pr oyect o Maven com o se especifica en el ar chivo pom .xm l. Seleccione su pr oyect o Maven y cont inuar.

6 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

I nt r oduzca un nom br e para el pr oyect o.

7 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Una vez que el pr oyect o ha sido im por t ado deber a t ener est e aspect o en I nt elliJ.

8 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

El pr oyect o Maven descar ga m uchas dependencias ( libr er as) cuando se ej ecut or iginalm ent e 'm vn inst all'. Ahora en I nt elliJ puedes ver t odas est as bibliot ecas. Las siguient es dos capt uras de pant alla m uest ra las bibliot ecas que ust ed debe t ener ahora en el pr oyect o.

9 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

10 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Ant es de em pezar a escr ibir cdigo selenio, ust ed t odava t iene que cr ear un m dulo y al m enos una clase Java ( un ar chivo j ava.) . Pr im er o, seleccione la raz del pr oyect o de I nt elliJ y haga clic der echo.

Y seleccione Cr ear m dulo. 11 de 18 28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Y seleccione Cr ear m dulo.

En el cuadr o de dilogo, seleccione el bot n de opcin Cr ear m dulo desde cero.

12 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Seleccione Mdulo Java y escr iba un nom br e para el nuevo m dulo.

Y al lado, debe cr ear una car pet a para el cdigo fuent e. Por convenio, est o casi siem pr e se denom ina 'sr c'.

13 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Ahora que est am os en el lt im o cuadr o de dilogo. Por lo general no es necesar io seleccionar ningn 't echnollogies' aqu. A menos que sepa a ciencia cier t a que va a ut ilizar Gr oovy o alguna ot ra t ecnologa.

14 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com /translate_c?depth=1&hl=es&rurl=t...

Ahora que se ha cr eado el m dulo, su pr oyect o debe m ost rar la siguient e estructura.

15 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Por lt im o, es necesar io cr ear un ar chivo j ava. Con una clase Java cor r espondient e.

I nt r oduzca el nom br e de la clase.

16 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

El ar chivo de j ava. Ahora se debe cr ear. Se debe tener este aspecto en el proyecto.

17 de 18

28/05/2013 7:42

Importacin Sel2.0 proyecto en Eclipse utilizando Maven - Selenio Doc...

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Si su pr oyect o ahora se ve com o la que se m uest ra m s ar r iba, ya est , felicidades! Y esperam os que disfr ut e de codificacin t u pr im era aut om at izacin Selenio!

Navegacin

18 de 18

28/05/2013 7:42

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

En Configuracin general de selenio- RC con cualquier I DE j ava habr a siguient es pasos: Descar gar selenio RC del Selenium HQ pgina de descar gas I nicie cualquier I DE j ava Crear un nuevo proyecto Aadir "selenio- j ava-ver sion- num ber. Jar " a su pr oyect o classpat h Regist r e su pr ueba de selenio I DE y t raducir lo al cdigo j ava ( Selenium I DE t iene funcin de t raduccin aut om t ica para generar pr uebas en var ios idiom as) Ej ecut ar el ser vidor selenio de la consola Ej ecut e la pr ueba en el I DE Est os punt os han sido delineadas a cont inuacin con r efer encia a Eclipse y I nt elliJ:

Configuracin de selenio-RC Con Eclipse


Eclipse es una plat afor m a de desar r ollo de soft war e m ult i- lenguaj e que com pr ende un I DE y un plug- in del sist em a para am pliar lo. Est escr it o pr incipalm ent e en Java y se ut iliza para desar r ollar aplicaciones en est e lenguaj e y, a t ravs de los plug- ins difer ent es, en ot r os idiom as, as com o C / C + + , Cobol, Pyt hon, Per l, PHP y m s. Siguient es lneas se descr ibe la configuracin de selenio- RC con Eclipse - Ver sion: 3.3.0. ( Eur opa Release) . No deber a ser m uy difer ent e para las ver siones m s alt as de Eclipse I nicie Eclipse. Seleccione Ar chivo> Nuevo> Ot r os.

1 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Java> Java Pr oj ect > Siguient e

2 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Pr opor cione el nom br e de su pr oyect o, seleccione JDK en 'Usar un pr oyect o JRE especfico opcin ( JDK 1.5 seleccionado en est e ej em plo) > haga clic en Siguient e

3 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Mant enga 'JAVA Set t ings' int act o en vent ana siguient e. Bibliot ecas especficas del pr oyect o se pueden aadir aqu. (Esto se descr ibe en det alle en la par t e post er ior del docum ent o.)

4 de 15

Haga clic en Finalizar > Haga clic en S en abier t o asociado

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Haga clic en Finalizar > Haga clic en S en abier t o asociado Per spect iva vent ana em er gent e.

Est o cr ear a Pr oyect o de Google en el panel Explorador / Navegador de paquetes.

5 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Haga clic der echo en la car pet a sr c y haga clic en Nuevo> Carpeta

6 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Nom br e de est a car pet a com o com y haga clic en el bot n Finalizar. Est o deber a car pet a sr c pr ivilegiada paquet e com .

7 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Siguiendo los m ism os pasos cr ear car pet as dent r o del ncleo com

8 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Clase SelTest Case puede m ant ener se dent r o del paquet e bsico. Crear un paquete ms adentro src car pet a denom inada SecuenciasDePrueba. Est e es un lugar r eser vado para los scr ipt s de prueba. Tenga en cuenta que se trata de la organizacin de los proyectos y que depende totalmente de eleccin del individuo / normas de la organizacin. Prueba de paquete de secuencias de comandos ms se puede segregar dependiendo de los requisitos del proyecto.

9 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Cr ear una car pet a llam ada lib dent r o del pr oyect o Google. Haga clic der echo en el nom br e de Pr oyect o> Nuevo> Car pet a. Este es un m ar cador de posicin para los ar chivos j ar de pr oyect o ( cont r olador de client e selenio, selenio ser vidor, et c)

10 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Est o cr ear a car pet a lib en el dir ect or io del pr oyect o.

11 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Haga clic der echo en la car pet a lib> Cr ear r ut a> Configurar const r uir Cam ino

En la pest aa Bibliot eca, haga clic en Add Ext er nal Jar s para navegar al dir ect or io donde se guar dan los ar chivos j ar. Seleccione los ar chivos j ar que se van a aadir y haga clic en el bot n Abr ir.

12 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin bot n Abr ir.

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Despus de t ener los ar chivos j ar aadido clic en el bot n Acept ar.

13 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Bibliot ecas Aadido apar ecer an en Explorador de paquet es de la siguient e m anera:

14 de 15

28/05/2013 7:43

Selenio 1.0 Java Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Configuracin de selenio-RC con IntelliJ


Vea est e excelent e t ut or ial de Sim on St ewar t acer ca de cm o iniciar un pr oyect o de selenio con I nt elliJ

Navegacin

15 de 15

28/05/2013 7:43

Python Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com /translate_c?depth=1&hl=es&rurl=t...

Descar gar selenio RC del Selenium HQ pgina de descar gas Ext raiga el ar chivo selenium.py O escr ibir su pr ueba selenio en Pyt hon o expor t ar una secuencia de com andos de selenio I DE en un ar chivo de pyt hon. Aadir a la t rayect or ia de la pr ueba el ar chivo selenium.py Ej ecut ar el ser vidor de selenio de la consola Ej ecut ar la pr ueba desde una consola o su I DE Pyt hon A cont inuacin se descr ibe el pr ocedim ient o de inst alacin bsica. Despus de seguir est o, el usuar io puede em pezar a usar el I DE se desea, ( incluso escr ibir pr uebas en un pr ocesador de t ext o y ej ecut ar los desde la lnea de com andos! ) Sin ningn t ipo de t rabaj o ext ra ( al m enos en el lado de selenio) . I nst alacin de Pyt hon Nota Est o cubr e la inst alacin de pyt hon en Windows y Mac slo, com o en la m ayor a de dist r ibuciones de linux pyt hon ya viene inst alado por defect o. Ventanas 1. Descar gar inst alador del act ivo pyt hon desde el sit io oficial de Act iveSt at e: ht t p: / / act ivest at e.com / Pr oduct s / act ivepyt hon/ index.m ht m l 2. Ej ecut e el inst alador descar gado ( Act ivePyt hon-xxxx- win32-x86.m si)

1 de 3

28/05/2013 7:43

Python Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Mac La lt im a ver sin de Mac OS X ( Leopar d en est e m om ent o) viene con Pyt hon pr e- inst alado. Para inst alar un Pyt hon ext ra, conseguir un binar io univer sal, en http://www.pythonmac.org/ (paquetes de Python 2.5.x). Ust ed r ecibir un ar chivo. Dm g que se puede montar. Cont iene un ar chivo. Paquet e que se puede poner en marcha.

2 de 3

28/05/2013 7:43

Python Client Driver Configuration - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

I nst alacin del client e cont r olador selenio para pyt hon 1. Descar ga la lt im a ver sin de cont r ol r em ot o selenio del pgina de descar gas 2. Ext raiga el cont enido del ar chivo zip descar gado 3. Copie el m dulo con el conduct or del selenio para Pyt hon ( selenium .py) en la car pet a C :/ Python25/Lib ( est o le per m it ir im por t ar dir ect am ent e en cualquier secuencia de com andos que escr ibe) . Va a encont rar el m dulo en la car pet a ext rada, se encuentra dentro de selenio-python-drivercliente.

Enhorabuena, ya est! Ahora, cualquier scr ipt en Pyt hon que cr ee puede im por t ar selenio y em pezar a int eract uar con los navegador es.

Navegacin

3 de 3

28/05/2013 7:43

Localizacin de las tcnicas - Selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

til XPATH patrones


texto
Todava no se ha escr it o - buscar elem ent os basndose en el cont enido del t ext o del nodo.

starts-with
Muchos sit ios ut ilizan valor es dinm icos de at r ibut os id del elem ent o, que puede hacer que sea difcil de localizar. Una solucin sim ple es usar funciones XPat h y basar la ubicacin en lo que ust ed sabe sobr e el elem ent o. Por ej em plo, si sus ident ificador es dinm icos t ienen el for m at o <input id="text-12345" /> donde 12345 es una ser ie dinm ica se puede ut ilizar la siguient e expr esin XPath: / / de entrada [starts-with (@ id, 'texto') ]

contiene
Si un elem ent o puede ser localizado por un valor que podr a ser r odeado por ot r o t ext o, cont iene la funcin se puede ut ilizar. Para dem ost rar lo, el elem ent o <span class="top partida bold"> se encuent ra basada en la clase "t t ulo", sin t ener que com binar lo con las clases de 't op' y 'bold' ut ilizando el siguient e XPat h: / / span [contiene (@ class, "ttulo")]. Dicho sea de paso, est o ser a m ucho m s lim pio ( y pr obablem ent e m s r pido) ut ilizando la est rat egia de CSS localizador css = span.heading

hermanos
Todava no se ha escr it o - localizar elem ent os en funcin de sus hermanos. t il para los for m ular ios y t ablas.

Empezar a utilizar CSS en lugar de XPATH


Localizacin de elementos en funcin de la clase
Para localizar un elem ent o basado en clase asociada en XPat h debe t ener en cuent a que el elem ent o puede t ener m lt iples clases y definidas en cualquier or den. Sin em bar go, con localizador es de CSS est o es m ucho m s sencillo ( y m s r pido) . XPath: / / div [contains (@ class, 'articuloencabezamiento')]

CSS: CSS = div.Article-encabezamiento

Navegacin

1 de 1

28/05/2013 7:43

Migracin de selenio RC a WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Cmo migrar de selenio WebDriver


Una pr egunt a com n al adopt ar Selenio 2 es qu es lo que se debe hacer cuando se agr egan nuevas pr uebas a un conj unt o exist ent e de las pr uebas? Los usuar ios que son nuevos en el m ar co pueden com enzar con la nueva API WebDr iver para escr ibir sus ensayos. Pero qu pasa con los usuar ios que ya cuent an con suit es de pr uebas exist ent es? Est a gua est diseada para dem ost rar cm o m igrar las pr uebas exist ent es a la nueva API , per m it iendo que t odas las pr uebas nuevas que se escr iben con las nuevas caract er st icas ofr ecidas por WebDr iver. El m t odo que aqu se pr esent a descr ibe una m igracin gradual a las API WebDr iver sin necesidad de r ehacer t odo de una ofensiva a gran escala. Est o significa que ust ed puede t ener m s t iem po para la m igracin de las pr uebas exist ent es, lo que puede hacer que sea m s fcil para ust ed para decidir dnde inver t ir su esfuer zo. Est a gua est escr it a en Java, ya que est e t iene el m ej or apoyo para hacer la m igracin. Al ofr ecer m ej or es her ram ient as par a ot r os idiom as, est a gua se am pli para incluir a esos idiom as.

Por qu migrar a WebDriver


Traslado de una ser ie de pr uebas de una API a ot r a API r equier e una enor m e cant idad de esfuer zo. Por qu ust ed y su equipo considera hacer esta jugada? Aqu hay algunas razones por las que ust ed debe considerar la m igracin de las pr uebas de Selenium para ut ilizar WebDr iver. Ms pequeo, ms compacto API. El API de WebDr iver es m s or ient ada a obj et os de la API or iginal de selenio RC. Esto puede hacer que sea m s fcil t rabaj ar con. Mej or em ulacin de las int eracciones del usuar io. Siem pr e que sea posible, WebDr iver hace uso de event os nat ivos con el fin de int eract uar con una pgina web. Est o im it a m s de cer ca la for m a en que los usuar ios t rabaj an con su sit io web y aplicaciones. Adem s, WebDr iver ofr ece al usuar io avanzado int eracciones API s que le per m it en m odelar int eracciones com plej as con su sit io. El apoyo de los pr oveedor es de navegador es. Opera, Mozilla y Google son los par t icipant es act ivos en el desar r ollo de WebDr iver, y cada uno t iene ingenier os t rabaj ando para m ej orar el m ar co. A m enudo, est o significa que el apoyo a WebDr iver se cuece en el pr opio navegador : las pr uebas se ej ecut an t an r pido y t an est able com o sea posible.

Antes de empezar
A fin de que el pr oceso de m igracin sea lo m enos dolor oso posible, asegr ese de que t odas las pr uebas se ej ecut an cor r ect am ent e con la lt im a ver sin de selenio. Est o puede sonar obvio, per o lo m ej or es que se diga! 28/05/2013 7:44

1 de 5

Migracin de selenio RC a WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

asegr ese de que t odas las pr uebas se ej ecut an cor r ect am ent e con la lt im a ver sin de selenio. Est o puede sonar obvio, per o lo m ej or es que se diga!

Introduccin
El pr im er paso a la hora de iniciar la m igracin es cam biar la for m a de obt ener la inst ancia de selenio. Cuando se ut iliza selenio RC, est o se hace de esta manera:

El selenio selenio = new DefaultSelenium ( "Localhost", 4444, "* firefox", "http://www.yoursite.com"); . selenio start ();

Est o debe ser r eem plazado de est a m anera:

WebDriver controlador FirefoxDriver = new (); El selenio selenio = new WebDriverBackedSelenium (conductor, "http://www.

Una vez que hayas hecho est o, ej ecut ar las pr uebas exist ent es. Est o le dar una idea clara de cunt o t rabaj o queda por hacer. La em ulacin de selenio es bueno, per o no es t ot alm ent e per fect o, por lo que es com plet am ent e nor m al que haya algunos baches y el hipo.

Prximos Pasos
Una vez que las pr uebas se ej ecut an sin er r or es, el siguient e paso es m igrar el cdigo de pr ueba r eal de ut ilizar las API WebDr iver. Dependiendo de lo bien que abst rae el cdigo es, est o puede ser un pr oceso cor t o o lar go. En cualquier caso, el enfoque es el m ism o y se puede r esum ir sim plem ent e: m odificar el cdigo para ut ilizar la nueva API cuando se llega a edit ar lo. Si necesit a ext raer la aplicacin WebDr iver subyacent e de la inst ancia de selenio, puede sim plem ent e echar lo a WrapsDr iver :

Controlador WebDriver = ((WrapsDriver) selenio) getWrappedDriver

Est o le per m it e cont inuar pasando la inst ancia de selenio en t odo de for m a nor m al, per o a desenvolver la inst ancia WebDr iver segn sea necesar io. En algn m om ent o, ust ed est base de cdigo en su m ayor a se ut ilizar la API m s r ecient e. En est e punt o, se puede dar la vuelt a a la r elacin, ut ilizando WebDr iver t odo y cr ear inst ancias de una inst ancia de selenio en la dem anda:

El selenio selenio = new WebDriverBackedSelenium (conductor, baseUrl);

Problemas comunes
2 de 5 Afor t unadam ent e, no er es la pr im era per sona que pasar por est a 28/05/2013 7:44

Migracin de selenio RC a WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Problemas comunes
Afor t unadam ent e, no er es la pr im era per sona que pasar por est a m igracin, as que aqu est n algunos de los pr oblem as com unes que ot r os han vist o, y la for m a de r esolver los.

Hacer clic y escribir es ms completa


Un pat r n com n en una pr ueba de RC El selenio es ver algo com o:

. selenio tipo ("nombre", "emocionante tex"); . selenio keyDown ("nombre", "t"); . selenio keyPress ("nombre", "t"); . selenio keyUp ("nombre", "t");

Est o se basa en el hecho de que "t ipo" sim plem ent e r eem plaza el cont enido del elem ent o ident ificado t am bin sin disparar t odos los event os que nor m alm ent e se disparan cuando un usuar io int eract a con la pgina. Las llam adas dir ect as finales de "t ecla * " hacen que los m anipulador es de JS para disparar com o se esperaba. Cuando se ut iliza el WebDr iver BackedSelenium , el r esult ado de r ellenar el cam po de for m ular io ser a "apasionant e t ext t t ": no es lo que esperas! La razn de est o es que WebDr iver em ula con m ayor pr ecisin el com por t am ient o del usuar io, por lo que se han disparado los event os desde el pr incipio. Est e m ism o hecho puede causar a veces una car ga de la pgina al fuego ant es de lo que lo har a en un 1 pr ueba de selenio. Se puede decir que est o ha sucedido, si un "St aleElem ent Except ion" es lanzada por WebDr iver.

WaitForPageToLoad Devuelve Too Soon


Descubr ir cuando una car ga de la pgina es com plet o es un negocio difcil. Quer em os decir "cuando se act iva el event o de car ga", "cuando t odas las pet iciones AJAX est n com plet os", "cuando no hay t r fico en la r ed", "cuando docum ent .r eadySt at e ha cam biado" o algo com plet am ent e dist int o? WebDr iver int ent a sim ular el com por t am ient o or iginal de selenio, per o est o no siem pr e funciona per fect am ent e por diver sas razones. La razn m s com n es que es difcil saber la difer encia ent r e una car ga de la pgina no haber com enzado an, y la car ga de la pgina despus de haber com plet ado ent r e llam adas a m t odos. A veces, est o significa que el cont r ol se devuelve a la pr ueba ant es de que la pgina ha t er m inado ( o incluso em pezar ! ) Loading. La solucin a est o es de esperar en algo especfico. Comnmente, est e podr a ser el elem ent o que desee int eract uar con ot r o, o de alguna var iable que Javascr ipt est est ablecido en un valor especfico. Un ej em plo podr a ser :

Espere <WebDriver> esperar = new WebDriverWait (conductor, 30); WebElement elemento = esperar hasta (visibilityOfElementLocated (Por

Donde "visibilit yOfElem ent Locat ed" se im plem ent a com o: 3 de 5 28/05/2013 7:44

Migracin de selenio RC a WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

Donde "visibilit yOfElem ent Locat ed" se im plem ent a com o:

ExpectedCondition pblico <WebElement> visibilityOfElementLocated return new ExpectedCondition <WebElement> () { aplican WebElement pblico (WebDriver conductor) { WebElement toReturn = conductor findElement (localizador).; if (toReturn. isDisplayed ()) { volver toReturn; } return null; } }; }

Est o puede par ecer com plej a, per o es casi t odo el cdigo de la caldera de la placa. La nica par t e int er esant e es que el "Expect edCondit ion" ser evaluado var ias veces hast a que "aplicar " m t odo devuelve algo que no es "nulo" ni Boolean.FALSE. Por supuest o, la adicin de t odas est as llam adas "espera" puede est or bar encim a de su cdigo. Si ese es el caso, y sus necesidades son sim ples, consider e el uso de las esperas im plcit a:

conductor manejar () (tiempos de espera) implicitlyWait (30,

Al hacer est o, cada vez que un elem ent o se encuent ra, si el elem ent o no est pr esent e, la ubicacin se vuelve a int ent ar hast a que o bien est pr esent e, o hast a que han pasado 30 segundos.

Encontrar por XPath o selectores CSS no funciona siempre, pero s en selenio 1


En Selenio 1, era com n que los XPat h que debe ut ilizar una bibliot eca dist r ibuida en lugar de las capacidades del pr opio navegador. WebDr iver siem pr e usar los m t odos navegador nat ivo a m enos que haya ot ra alt er nat iva. Est o significa que las expr esiones XPat h com plej os pueden r om per se en algunos navegadores. Select or es de CSS en Selenio 1 se llevar on a cabo ut ilizando la bibliot eca Ar den. Est o im plem ent a un super conj unt o de la CSS Select or de especificaciones, y no siem pr e est clar o dnde ha cr uzado la lnea. Si ust ed est ut ilizando el WebDr iver BackedSelenium y ut ilizar un localizador de Ar den en lugar de un select or CSS para la bsqueda de elem ent os, una adver t encia se r egist ra en la consola. Vale la pena t om ar se el t iem po para m irar para ellos, sobr e t odo si las pr uebas fallan, por que de no ser capaz de encont rar elem ent os.

No No Browserbot
El selenio RC se basa en Selenio Cor e, y por lo t ant o al ej ecut ar Javascr ipt , ust ed podr a t ener acceso a los bit s de Selenio Cor e para facilit ar las cosas. Com o WebDr iver no se basa en Selenio Cor e, est o ya no es posible. Cm o puede saber si ust ed est usando Selenio Core? Sim ple! Bast a con m irar a ver si las llam adas "get Eval" o 28/05/2013 7:44

4 de 5

Migracin de selenio RC a WebDriver Selenio - El selenio Documentacin

http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...

facilit ar las cosas. Com o WebDr iver no se basa en Selenio Cor e, est o ya no es posible. Cm o puede saber si ust ed est usando Selenio Core? Sim ple! Bast a con m irar a ver si las llam adas "get Eval" o sim ilar est n ut ilizando "selenio" o "br owser bot " en el Javascr ipt evaluado. Puede que est ut ilizando el br owser bot obt ener un ident ificador de la vent ana act ual o del docum ent o de la pr ueba. Afortunadamente, WebDr iver siem pr e evala JS en el cont ext o de la vent ana act ual, para que pueda ut ilizar "vent ana" o "docum ent o" dir ect am ent e. Alt er nat ivam ent e, ust ed podr a est ar usando el br owser bot para localizar elem ent os. En WebDr iver, el lenguaj e para hacer lo es localizar pr im er o el elem ent o y, a cont inuacin, pasar eso com o un ar gum ent o al Javascr ipt . Por lo t ant o:

String nombre = selenio. GetEval ( ". Selenium.browserbot.findElement ('id = foo', browserbot.getCurre

se convier t e en:

Elemento WebElement = conductor findElement (Por id ("foo").).; String nombre = (String) ((JavascriptExecutor) conductor). ExecuteScrip . "Argumentos de retorno [0] tagName", elemento);

Obser ve cm o el pasado en la var iable "elem ent o" apar ece com o el pr im er elem ent o de la nor m a m at r iz "ar gum ent os" JS.

Ejecutar Javascript no devuelve nada


Javascr ipt Execut or de WebDr iver envolver t oda JS y evaluar la com o una expr esin annim a. Est o significa que ust ed t iene que ut ilizar la palabra "r et or no":

Cadena title = selenio getEval ("browserbot.getCurrentWindow ()

se convier t e en:

. ((JavascriptExecutor) conductor) executeScript ("document.title regr

Navegacin

5 de 5

28/05/2013 7:44