Karl Swedberg hat einen ausgezeichneten Blogeintrag darüber geschrieben, den Sie unter folgender Adresse finden http://www.learningjquery.com/2009/04/better-stronger-safer-jquerify-bookmarklet
Wir haben dies angepasst und in der Selenium Server jar-Datei die Datei RemoteRunner.html so geändert, dass sie das jquery-JavaScript enthält (erhalten von 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>
Um diese dann für die Verwendung in Selenium zu aktivieren, fügen wir die Standortstrategie hinzu:
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; " +
"}"
);
Beachten Sie die obige Zugabe von Locator-Strategie ist in Java, aber seine nur eine Zeichenfolge so sollte leicht in C# repliziert werden. JQuery macht die Dinge viel schneller, vor allem im Internet Explorer!
Um das Jar zu ändern, können Sie das heruntergeladene Selenium-Server-Jar mit dem Java-Befehlszeilen-Tool aktualisieren. Erstellen Sie einen Ordner auf der gleichen Ebene wie das jar mit dem Namen "core" und legen Sie die geänderten Dateien RemoteRunner.html und jquery.min.js dort ab. Führen Sie dann etwas aus wie:
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
Wenn jar nicht in Ihrem Pfad enthalten ist, können Sie den vollständigen Pfad verwenden, z. B. könnten Sie es unter Windows mit etwas wie:
"C:\Program Files\Java\jdk1.6.0_22\bin\jar.exe" <arguments>