Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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
28/05/2013 7:39
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
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
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
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 ();
/ / 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
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.
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 .
6 de 20
En Nombre de clase
28/05/2013 7:39
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
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>
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" />
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 >>
7 de 20
28/05/2013 7:39
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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
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
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
Valores de Atributos
28/05/2013 7:39
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" />
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:
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
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
. 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:
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
NoSuchElementException ser lanzado:
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:
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:
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:
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
28/05/2013 7:39
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
de * mejor *.
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.
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 :
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
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 ()..;
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
28/05/2013 7:39
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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
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
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:
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
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
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.
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
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
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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.
/ / Se puede usar cualquier aplicacin WebDriver. WebDriver controlador FirefoxDriver = new ();
/ / 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
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
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 .
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
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 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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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
28/05/2013 7:39
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
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
[1] ( 1 , 2 , 3 , 4 ) Ut ilizacin del em ulador [2] ( 1 , 2 ) con la habilit acin explcit a event os nat ivos
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
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
Navegacin
5 de 5
28/05/2013 7:39
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.
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
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.
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.
3 de 30
28/05/2013 7:40
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 .
4 de 30
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 .
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
5 de 30
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
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.
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
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",
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"
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
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.
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
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.
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
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
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 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:
Si el elem ent o 'q' no est en la pgina, ent onces se pr oduce una excepcin:
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
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.
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; }
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.
14 de 30
28/05/2013 7:40
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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.
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
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
16 de 30
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
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
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.
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
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.
-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.
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
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 .
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
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
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.
21 de 30
28/05/2013 7:40
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.
22 de 30
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.
23 de 30
28/05/2013 7:40
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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.
"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
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.
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.
25 de 30
28/05/2013 7:40
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
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
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.
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.
27 de 30
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.
28 de 30
28/05/2013 7:40
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.
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.
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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");
Navegacin
30 de 30
28/05/2013 7:40
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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.
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
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.
<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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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.
3 de 15
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
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.
<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
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
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
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 '.
6 de 15
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.
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
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); }
/ ** * 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
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
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
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 .
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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
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); }
/ ** * 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.
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
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.
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
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"
Navegacin
15 de 15
28/05/2013 7:40
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
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 .
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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
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
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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.
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
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
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.
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
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.
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
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.
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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.
TakesScreenshot
Java TakesScreenshot.java
Navegacin
1 de 1
28/05/2013 7:41
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
Navegacin
1 de 1
28/05/2013 7:41
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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
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
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
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
3 de 18
28/05/2013 7:42
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
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
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
7 de 18
28/05/2013 7:42
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
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
10 de 18
28/05/2013 7:42
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.
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
12 de 18
28/05/2013 7:42
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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
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
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
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.
16 de 18
28/05/2013 7:42
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
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
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:
1 de 15
28/05/2013 7:43
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
2 de 15
28/05/2013 7:43
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
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
28/05/2013 7:43
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.
5 de 15
28/05/2013 7:43
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
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
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
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
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
11 de 15
28/05/2013 7:43
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...
13 de 15
28/05/2013 7:43
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
14 de 15
28/05/2013 7:43
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
Navegacin
15 de 15
28/05/2013 7:43
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
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
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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.
Navegacin
1 de 1
28/05/2013 7:43
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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
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 ();
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 :
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:
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
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.
. 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.
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
http://translate.googleusercontent.com/translate_c?depth=1&hl=es&rurl=t...
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:
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.
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
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:
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.
se convier t e en:
Navegacin
5 de 5
28/05/2013 7:44