2013-12-20 11 views
5

Ich muss oft Testfälle auf einer Website ausführen, die ich arbeite. Meistens muss ich nur überprüfen, ob ein Element auf einer Site existiert, oder ich muss ein paar Daten der Site scrappen. Bis jetzt habe ich Jsoup für diese Arbeit verwendet.Selenium Webdriver vs Jsoup - Wann zu verwenden

Ich bin kürzlich zu Selenium Webdriver eingeführt worden. Ich habe ein bisschen darüber gelesen, aber ich versuche nur herauszufinden, wann es am besten ist. In Fällen wie meiner, die prüfen, ob ein Element auf einer Seite vorhanden ist oder Daten abschabt, gehe ich davon aus, dass ich mit Jsoup immer noch besser dran bin? Und Selen eignet sich am besten zum Ausfüllen von Formularen und zum Klicken auf Schaltflächen auf einer Website?

+0

Warum ist dies in der Warteschleife? Es ist eine gültige Frage. Jsoup empfängt nur die Daten vom Server. Keine js erzeugten Daten werden berücksichtigt. Selen kann js ausführen, so dass die dynamischen Daten abrufbar sind. Es basiert nicht auf Meinungen, da die beiden Werkzeuge unterschiedliche Fähigkeiten haben. Bei vielen der jsoup-Fragen geht es um dynamische Daten (js generiert). Eine gute Antwort in diesem Thema könnte eine Antwort für viele Benutzer geben. z. B. dieses http://stackoverflow.com/questions/20736303/jsoup-getting-value-of-textarea-from-html – alkis

Antwort

11

Selen hat den Vorteil, dass es einen aktuellen Browser ausführt, es wird daher alle JS usw. auf eine Weise ausführen, die sehr, sehr nahe an einem tatsächlichen Benutzer der Site ist. Die API ermöglicht es Ihnen außerdem, Ihre Tests in einer Sprache zu schreiben, die den tatsächlichen Interaktionen nahe kommt (z. B. click, um auf einen Link zu klicken).

Also, wenn Sie Tests haben, die irgendeine Form von Interaktionen haben (Formulare, Links, etc.) Der Aufwand von Selen ist es wert. Wenn Sie einfach eine URL öffnen und nach dem Vorhandensein einiger Inhalte suchen möchten, wird Jsoup das tun.