![]() |
Geschwindigkeitsmessung eines Seitenaufrufs
Hey DP,
ich möchte gerne protokollieren wie lange es dauert, von einer Start-Webseite einen Seitenaufruf durchzuführen. Spontan würde ich das mit einer TTimer Komponente messen. Startzeitpunkt: TWebBrowser --> OnBeforeNavigate2 Timer aktivieren Endzeitpunkt: TWebBrowser: --> OnDocumentComplete Timer anhalten und auswerten Und das alle 5 Minuten mit einer weiteren Timer-Komponente Gibt es da andere Mechanismen/Hilfsmittel um einen Seitenaufruf zu monitoren oder ist mein Vorgehen durchaus nutzbar ? |
AW: Geschwindigkeitsmessung eines Seitenaufrufs
noch einfacher... 8-)
GetTickCount (Unit Windows) beim Betreten holen und merken und bei HabeFertig holen und die Differenz berechnen... |
AW: Geschwindigkeitsmessung eines Seitenaufrufs
Zitat:
|
AW: Geschwindigkeitsmessung eines Seitenaufrufs
Ich möchte jetzt kein Schlauscheißer sein, aber was ist denn ein "Seitenaufruf"? Das XML/HTML-Dokument übertragen? Das Dokument und alle direkt referenzierten Dateien (Grafiken, Stylesheets, ...) laden? Das Dokument komplett aufbauen und grafisch auf den Bildschirm bringen?
Was ist mit dem ganzen JavaScript das erst im Nachinein anfängt, weitere Skripte und Medien von externen Quellen nachzuladen? |
AW: Geschwindigkeitsmessung eines Seitenaufrufs
Hmm das sind durchaus berechtigte Fragen. Im Prinzip möchte ich
![]() Leider stoße ich da auf 2 blöde Probleme: (1) Mit einem Button wollte ich die Minimalangaben des Formulars ausfüllen:
Delphi-Quellcode:
Alle Formulare werden ausgefüllt, nur wird das Datum nicht akzeptiert. Man muss mit der Maus auf diesen blöden Datepicker klicken, ich bekomme das nicht ohne manuellen Eingriff hin.
//Abflug von
WebBrowser1.OleObject.Document.getElementById('f-originName0').value := 'Frankfurt, Frankfurt/Main International (FRA), Deutschland'; //Ankunft in WebBrowser1.OleObject.Document.getElementById('f-destinationName0').value := 'Baltimore, Baltimore - Washington International, DC (BWI), USA'; //Datum WebBrowser1.OleObject.Document.getElementById('fdepdateDisplay').value := 'Mi, 02.08.2014'; WebBrowser1.OleObject.Document.getElementById('fretdateDisplay').value := 'Mi, 20.08.2014'; (2) Sobald ich den "Flüge Suchen" button betätige, wirft die TWebbrowser Komponent den berühmten "Skriptfehler". Es gibt einige Suchtreffer hier im Forum, allerdings sind die etwas älter und schlagen den silent-mode oder einen Registry-Eingriff vor. Hat beides nichts gebracht. Und wie der Thread-Titel schon hergibt, will ich nur messen wie lange es dauert, bis man sein Suchergebnis angezeigt bekommt:
Delphi-Quellcode:
procedure TForm4.WebBrowser1BeforeNavigate2(ASender: TObject;
const pDisp: IDispatch; const URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin tick_Start:=GetTickCount; end; procedure TForm4.WebBrowser1DocumentComplete(ASender: TObject; const pDisp: IDispatch; const URL: OleVariant); begin tick_end:=GetTickCount; //wie viele ms hat es nun gedauert ? l_1.Caption := inttostr(tick_end-tick_start); end; |
AW: Geschwindigkeitsmessung eines Seitenaufrufs
Wenn du es nicht mit Delphi machen musst, solltest du dir mal die entsprechenden Tools im Browser angucken (insb. Chrome und Firefox). In diesem
![]() |
AW: Geschwindigkeitsmessung eines Seitenaufrufs
Und was bringt es diese Zeit zu haben?
Webseiten zu testen ist nicht gerade eine Triviale Angelegenheit und das "nur mal so zu machen" kann sehr leicht in eine größeres Projekt ausarten. Nicht umsonst gibt es hier (teilweise sehr teure) Spezialanwendungen. Und wie du merkst werden die Oberflächen so stark auf reale Anwender optimiert so das ein "einfacher" Test mit TWebbrowser schon fast zwangsweise scheitern muss. |
AW: Geschwindigkeitsmessung eines Seitenaufrufs
Hi schönen Sonntag euch allen,
ich bin nicht zwingend auf Delphi angewiesen, aber Delphi bietet mir die Möglichkeit gewissen Dinge zu automatisieren. Ich bin z.B. über das Chrome Plugin ![]() Bernhard hat völlig recht - gerade diese fiesen Datepicker-Felder können nicht per copy/paste ausgefüllt und ausgewertet werden. Man muss zwingend mit der Maus auf die entsprechende Schaltfläche klicken um ein gütiges Datum zu produzieren. Ich sehe derzeit keine andere Möglichkeit als mit SetCurserPos o.ä. einen Mausklick zu simulieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz