Karl Swedberg escribió una excelente entrada de blog sobre él que se pueden encontrar en http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet
Hemos adaptado esto y básicamente en el archivo jar del servidor El selenio se modificó para incluir el RemoteRunner.html jQuery JavaScript (obtenido de http://code.jquery.com/jquery-latest.min.js):
<script language="JavaScript" type="text/javascript" src="jquery.min.js"></script>
<script language="JavaScript" type="text/javascript">
function openDomViewer() {
var autFrame = document.getElementById('selenium_myiframe');
var autFrameDocument = new SeleniumFrame(autFrame).getDocument();
this.rootDocument = autFrameDocument;
var domViewer = window.open(getDocumentBase(document) + 'domviewer/domviewer.html');
return false;
}
</script>
continuación para habilitar esta para su uso en selenio le sumamos la estrategia de localización:
mySelenium.addLocationStrategy("jquery",
"var loc = locator; " +
"var attr = null; " +
"var isattr = false; " +
"var inx = locator.lastIndexOf('@'); " +
"if (inx != -1){ " +
" loc = locator.substring(0, inx); " +
" attr = locator.substring(inx + 1); " +
" isattr = true; " +
"} " +
"var found = jQuery(inDocument).find(loc); " +
"if (found.length >= 1) { " +
" if (isattr) { " +
" return found[0].getAttribute(attr); " +
" } else { " +
" return found[0]; " +
" } " +
"} else { " +
" return null; " +
"}"
);
Tenga en cuenta que la adición anterior de la estrategia del localizador está en Java, pero es solo una cadena, por lo que debe replicarse fácilmente en C#. JQuery hace que las cosas sean mucho más rápidas, ¡especialmente en Internet Explorer!
Para modificar el jar, puede usar la herramienta de línea de comandos java para actualizar el jar del servidor de selenio descargado. Cree una carpeta al mismo nivel que el contenedor llamado "core" y coloque allí los archivos RemoteRunner.html y jquery.min.js modificados. A continuación, ejecute algo como:
jar -uf selenium-server-standalone-2.0b3-APT.jar core\RemoteRunner.html
jar -uf selenium-server-standalone-2.0b3-APT.jar core\jquery.min.js
Si frasco no está en su camino puede utilizar la ruta completa, por ejemplo en las ventanas se podía ejecutarlo con algo como:
"C:\Program Files\Java\jdk1.6.0_22\bin\jar.exe" <arguments>
Me pareció muy intersting! pero la pregunta principal es: ¿cómo podemos usar esta extensión jquery, por ej.escriba un textarea seleccionado por jquery? –
@Andreas simplemente utiliza el jquery = para iniciar su expresión del localizador y luego usa jquery! Ejemplo de expresión del localizador (intencionalmente, no es el ejemplo más simple): "jquery = table # myParentTableID> input.input-class" – Zugwalt
gracias, ¡eso fue todo! –