2009-07-14 10 views
0

Hey Ive versucht, wie man dies für ein paar Stunden zu lösen, und ich komme weiter leer.Selen Automated Testing und Java Textfelder

Im mit Selenium IDE, um zu versuchen und ein paar einfachen automatisierten Tests zu machen (im Grunde der Test die Website zugreifen, Inhalte zu erstellen und senden Sie es, um sicherzustellen, dass es funktioniert immer noch)

Aber es ist ein Teil der Website, die ein Javascript-Textfeld ist, und ich muss Text eingeben.

Selenium erkennt jedoch keine Aktionen, die ich im Textbearbeitungsabschnitt der Box mache. Es wird erkennen, ob ich etwas wie BOLD oder ITALICS drücke. Wenn ich BOLD auswähle, wird Folgendes angezeigt: Klicken Sie auf | // a [@ id = 'mce_editor_1_bold']/img |

Aber wie ich schon sagte, wird es nicht erkennen, wenn ich den Textbearbeitungsteil der Box auswähle. Ich habe versucht, mit Xpath (und Firebug) nach einigen Recherchen online, aber ich kann nicht scheinen, dass das funktioniert.

Hat jemand Hilfe oder Ideen zu bieten?

Antwort

0

Sie können auch Javascript verwenden, um mit Selenium zu arbeiten. Wenn Ihre Rich-Text-Box beispielsweise id="RichText" hat, können Sie das Element über Javascript erhalten und Ihren Wert dort eingeben.

Der Code sieht etwa so aus:

| verifyEval | javascript{this.browserbot.getCurrentWindow().document.getElementById('RichText').value = 'Foo Bar'} || 

Allerdings habe ich festgestellt, dass die Syntax für den this.browserbot Teil variieren kann. Es wird ein bisschen Arbeit brauchen, um die Dinge in Gang zu bringen. Sie können diesen Artikel auch aus The Automated Tester auschecken, der Informationen darüber enthält, was Sie zu tun versuchen.

Auch sollte diese Frage, die Ihnen weiter helfen: Selenium: How do I use javascript to clear a value from a form field?

0

ich mit Firebug ausdauernd empfehlen würde. Öffnen Sie die Seite, die Sie testen, und verwenden Sie Firebugs "Inspect" -Funktion, um das Textfeld in der HTML-Quelle zu suchen. Dann sollten Sie in der Lage sein, einen Weg zu finden, die Box mit ID, XPath oder CSS zu lokalisieren.

Zum Beispiel: Wenn es ID = 'TextBox' hat, können Sie es mit ID = Textfeld suchen. Wenn es Klasse = ‚jsTextBox‘ können Sie es css = .jsTextBox

Ansonsten verwenden finden Sie XPath verwenden können - ich würde empfehlen, immer die XPath Checker extension so können Sie direkt auf das Textfeld klicken und die XPath erfahren. Sie möchten vielleicht mit dem Ergebnis herumspielen, um es zu einem intelligenteren XPath zu machen.

Sobald Sie den Speicherort gefunden haben, können Sie Daten mit den Befehlen type oder typeKeys eingeben. type ändert den Wert und typeKeys löst den Schlüssel für jedes Zeichen aus - es ist langsamer, wird aber manchmal benötigt, abhängig von der zu testenden Anwendung.

type | id=textBox | myValue 

verifyValue | id=textBox | myValue 

hoffe, das hilft, Dave.