2008-10-18 5 views

Antwort

2

Watir?

Watir ist eine einfache Open-Source-Bibliothek zur Automatisierung von Webbrowsern. Watir fährt Browser genauso wie die Leute. Es klickt Links, füllt Formulare aus, drückt Knöpfe. Watir überprüft auch Ergebnisse, z. B. ob der erwartete Text auf der Seite angezeigt wird.

Es fährt Internet Explorer, ist aber auch mit Firefox (und Safari zu einem gewissen Grad) funktionsfähig.

2

Die Tester, mit denen ich arbeite, verwenden Bad Boy für Belastungstests. Ich bin ziemlich sicher, dass Sie Interaktionen, die Javascript verwenden, testen können, so dass Sie in der Lage sein sollten, Dinge wie Double-Submits zu testen.

2

Soweit Ihr Backend betrifft, so spielt es keine Rolle, was eine Anforderung auslöst, ob es von JavaScript ist oder ein Lasttest-Tool, solange die Anforderung gültig ist.

Sie können eine Reihe von gefälschten Anfragen erstellen, die viele verschiedene Dinge tun (hoffentlich repräsentativ für tatsächliche Nutzungsmuster) und Ihren Webserver mit einem Lasttest-Tool knacken.

Es gibt eine Menge da draußen:

  • jMeter
  • http_load
  • Grinder
  • httpperf
0

ich Badboy versucht haben, die in Ordnung ist. Das große, dicke, schwere Werkzeug ist SilkTest. Es erfordert viel Programmierung, um zum Laufen zu kommen, aber Sie können etwas sehr solides machen!

Wenn Sie nur Testanforderung von z. IIS-Protokolldateien, ich habe ein benutzerdefiniertes Build-Tool. Ich werde es sehr bald bei CodePlex veröffentlichen.

+1

Nun, SilkTest ist ein auf Funktionstests spezialisiertes Tool, für den Belastungstest möchten Sie den Browser Driven Load Testing von SilkPerformer verwenden. – tehlexx

0

Selenium RC ist eine andere Alternative.

+0

Ich glaube nicht, dass Stresstests mit Selenium praktisch sein werden, da jeder Client einen Browser ausführen muss, der zu Skalierbarkeitsproblemen führt. Es wird jedoch Javascript gut testen –

+0

Keine Skalierbarkeitsprobleme, wenn Sie den Test auf AWS ... – Hejazzman

3

Das Problem mit Watir und Selenium RC oder anderer vollen Browser-Lösung ist, dass sie einen vollständigen Browser benötigen: P

Browser sehr teuer sind, erfordern 300 MB RAM oder mehr oft zu laufen. Multiplizieren Sie diese Anforderungen mit sogar 100 und Sie benötigen massive Hardware. Glücklicherweise gibt es eine Lösung: Ich habe vor kurzem eine Firma gegründet, die genau das tut, wonach Sie suchen.

Überprüfen Sie http://browsermob.com und Sie können einen begrenzten Test (bis zu 25 Benutzer) ausführen, um ein Gefühl für die App zu bekommen.Fühlen Sie sich frei, uns zu kontaktieren, wenn Sie irgendwelche Fragen haben!

+0

Patricky, Ihre Website hat ein Problem mit seiner HTTPS-Implementierung – shanabus

+0

Können wir nur Lynx oder einen anderen Low-Memory-Browser verwenden? –

0

Auch in Verbindung stehend, überprüfen Sie heraus meinen letzten Artikel auf Ajaxian. Ich denke, es erklärt sehr gut, warum echte Browser eine Rolle spielen und warum die Ausführung von JavaScript für Lasttests immer wichtiger wird.

http://ajaxian.com/archives/why-load-testing-ajax-is-hard

3

Eine Lösung, die erstrebenswert sein kann, ist Selen auf Amazon EC2 ausführen, um die Skalierbarkeit, die Sie benötigen. Es gibt eine tutorial über Selen mit einer Probe, die mit Selen-Gitter geliefert wird. Windows-Maschinen sind 12,5 Cent pro Stunde für eine kleine Maschine, was bedeutet, dass ein 500-Maschinen-Test kostet $ 62,50 pro Stunde.

PROS:

  • Selen läuft in einem echten Browser was bedeutet, dass Ihre Javascript, da es auf einem Client würde ausführen
  • Niedrig Kosten - versuchen, dies auf eigene Hardware zu tun, würde deutlich mehr
  • kosten

CONTRA:

  • würden Sie haben eine Netzwerkverbindung von Am etablieren azon auf Ihre Bewerbung
+0

Link ist pleite, bitte updaten? – shanabus

1

Da JMeter kein Browser ist, wird es den JavaScript-Code auf der Seite nicht interpretieren Sie SCHRITTE:

JMeter nicht verarbeitet Javascript oder in HTML-Seiten eingebettet Applets. [JMeter Wiki]

Also, was können Sie tun? Sie können add WebDriver to JMeter test und damit die Webseiten bewerten.

Web Driver Sampler automatisiert die Ausführung und Sammlung von Leistungsmetriken im Browser (clientseitig). Ein großer Teil von Leistungstests, bis zu diesem Zeitpunkt wurde auf der Serverseite von Dinge. Mit dem Fortschritt der Technologie, HTML5, JS und CSS Verbesserungen, mehr und mehr Logik und Verhalten wurden auf den Client gedrückt. Dies trägt zur insgesamt wahrgenommenen Leistung von website/webapp bei, aber diese Metrik ist in JMeter nicht verfügbar. Dinge , die zur Gesamtlaufzeit des Browsers hinzufügen, können sein:

  1. Clientseitige Javascript-Ausführung - z. AJAX, JS-Vorlagen
  2. CSS-Transformationen - z. 3D Matrix Transformationen, Animationen
  3. 3rd Party Plugins - zB. Facebook wie, Double-Click-Anzeigen, Website Analytics, etc

All diese Dinge fügen die Gesamt Browser Ausführungszeit, und das Projekt zielt darauf ab, die Zeit, die Rendering all diese Inhalte in Anspruch nimmt zu messen.

Amtsführung: https://jmeter-plugins.org/wiki/WebDriverTutorial/

0

Es gibt ein neues Werkzeug in diesem Bereich called k6

hat es einen Weg, um das DOM zugreifen zu können, und ich plane, es zu versuchen, in a project.

Hintergrund Geschichte:

Sie können this und this blog.

besuchen

vielleicht wird es helfen.