Wenn Sie Überwachungs- oder Auslastungstests für Webanwendungen mit Dateiupload-Funktionalität einrichten müssen, verwenden Sie EveryStep Scripting Tool, um das Skript aufzuzeichnen.
Grenzwerte für das Hochladen von Dateien
Das EveryStep Scripting Tool unterstützt die Aufzeichnung eines Datei-Uploads auf eine externe URL. Sie können Uploads von insgesamt bis zu 100 MB innerhalb eines EveryStep-Skripts für Auslastungstests und bis zu 20 MB für Überwachungsskripte aufzeichnen.
Beispielsweise können Sie einen Upload von vier Dateien mit einer Größe von 25 MB oder eine Datei mit 100 MB für den Auslastungstest aufzeichnen. Oder Sie können das Hochladen von zwei Dateien mit einer Dateigröße von jeweils 10 MB oder einer 20 MB-Datei zur Web-Performance-Überwachung aufzeichnen.
Wie es funktioniert
Dotcom-Monitor verfügt nicht über lokal verfügbaren Speicher. Um den Upload-Prozess einer Datei zu emulieren, muss das System die Datei von einer öffentlichen URL in das Skript herunterladen, bevor der Uploadschritt ausgeführt wird. Daher müssen Sie zunächst eine Testdatei bereitstellen, die im Upload-Prozess von Dotcom-Monitor verwendet wird. Daher lädt Dotcom-Monitor die Datei von der bereitgestellten URL in den System-Cloud-Speicher herunter und verwendet sie bei jeder Ausführung des Skripts im Upload-Prozess. Es gibt zwei Ansätze, um eine Testdatei für Dotcom-Monitor bereitzustellen.
Herunterladen der Datei von der externen URL
Um eine Datei von einer externen URL zu verwenden, fügen Sie eine Testdatei mit einer Größe von bis zu 100 MB (bis zu 20 MB für Überwachungsskripte) in eine öffentlich zugängliche URL ein, z. B. Amazon S3-Bucket, Azure-Speicher oder CDN-Services wie AWS CloudFront CDN. Zeichnen Sie dann den Dateiuploadschritt im EveryStep Recorder auf. Während der Aufzeichnung des Schritts werden Sie aufgefordert, den Link zur Testdatei anzugeben. Das System lädt die Datei herunter und verwendet sie im Upload-Vorgang.
Aufzeichnen eines Dateidownloads innerhalb des Skripts
Alternativ können Sie den Dateidownload aufzeichnen und die heruntergeladene Datei auswählen, um einen Upload-Schritt im Skript aufzuzeichnen. Bei Bedarf können Sie den Dateinamen und den Link sowie das Timeout zum Herunterladen ändern, indem Sie die zugehörige Zeile im Bereich Skriptcode nach der Aufzeichnung bearbeiten.
Bewährte Methoden
Dotcom-Monitor führt standardmäßig alle Schritte und Aktionen im Skript ohne Verzögerungen aus. Das Hochladen einer Datei in eine Webressource dauert jedoch in der Regel einige Zeit. In diesem Fall wird empfohlen, die Delay-Zeile direkt nach dem Uploadschritt zum Skript hinzuzufügen, um die Verzögerung zu simulieren und zu warten, bis das System den Upload-Schritt ausführt.
Um sicherzustellen, dass der Upload korrekt ausgeführt wurde, richten Sie außerdem die Inhaltsüberprüfung nach dem Uploadschritt ein. Wenn Dialogfelder oder Upload-Bestätigungen nach dem Hochladen der Datei auf der Seite angezeigt werden, fügen Sie im Allgemeinen Keyword-Validierung oder verfügbare Codeausschnitte hinzu, um zu überprüfen, ob der Upload-Schritt die erwarteten Ergebnisse gebracht hat.
Aufzeichnen des Dateiuploads über die externe URL
Überprüfen Sie die Folgenden:
- Laden Sie eine Testdatei mit einer Größe von bis zu 100 MB auf eine öffentlich zugängliche URL herunter.
- Zeichnen Sie das Skript auf, bis Sie die Datei hochladen müssen.
- Klicken Sie auf die entsprechende Schaltfläche auf der Zielseite, um die Datei hochzuladen.
- Geben Sie im Fenster Dateien hochladen einen externen Link zu der Datei an, die Sie hochladen möchten. Die Datei wird über den bereitgestellten externen Link in den Dotcom-Monitor-Cloudspeicher heruntergeladen. Nach dem Herunterladen wird der Dateiname im Fenster Dateien hochladen aufgeführt. Aktivieren Sie das Kontrollkästchen Datei, und klicken Sie auf OK. Daher wird die OpenFileDialogHandler-Zeile automatisch zum Skript hinzugefügt.
- Fügen Sie die Verzögerung direkt nach dem Upload-Schritt hinzu.
- Fügen Sie das Schlüsselwort oder die Bildüberprüfung zum Skript hinzu.
- Fahren Sie ggf. mit der Aufzeichnung fort; und beenden Sie den Aufnahmevorgang, wenn Sie bereit sind.
Finden Sie das Beispiel des Datei-Upload-Skripts, das im EveryStep-Skripttool unten aufgezeichnet ist. Das Skript enthält Beispiele für das Hochladen einer lokal gespeicherten Datei und einer Datei von der externen URL. Für Upload-Testzwecke können Sie die folgenden Beispieldateien von öffentlich verfügbaren URLs verwenden:
- https://d149yd38g6ldk.cloudfront.net/LoremIpsum.docx
- https://d149yd38g6ldk.cloudfront.net/LoremIpsum.pdf
- https://d149yd38g6ldk.cloudfront.net/LoremIpsum.txt
// script_version=3.0; everystep_version=4.0.7706.9249; date=2/10/2021; Chrome=83.0.4103.61 Tabs.SetSize (1768, 419); DMBrowser tab0 = null; Step (1, "Download & Generate Test Files - https://fastest.fish/test-files"); tab0 = Tabs.NewTab (); tab0.GoTo ("https://fastest.fish/test-files"); tab0.Link ("//A[normalize-space()=\"5MB\"]", "//A[normalize-space(text())=\"5MB\"]", "//A[normalize-space()=\"10MB\"]/preceding-sibling::A[1]").Click (); //File Download to the system storage Step (2, "Download & Generate Test Files - http://ipv4.download.thinkbroadband.com/5MB.zip"); tab0.Downloading ("5MB.zip", "http://ipv4.download.thinkbroadband.com/5MB.zip"); tab0.Para ("//P[normalize-space()=\"These test files will be downloaded in full over your network connection from high speed servers. These files can be used to test your network download speed.\"]/preceding-sibling::P[1]", "//P[normalize-space(text())=\"These test files will be downloaded in full over your network connection from high speed servers. These files can be used to test your network download speed.\"]/preceding-sibling::P[1]", "/HTML/BODY/DIV/DIV/P[1]").Click (); //File Upload using the file from the system storage Step (3, "Gofile - https://gofile.io/uploadFiles"); tab0.GoTo ("https://gofile.io/uploadFiles"); OpenFileDialogHandler (OpenFileDialogButton.Ok, new string[1] {"5MB.zip"}); tab0.Button ("//BUTTON[normalize-space()=\"Click here\"]", "//BUTTON[normalize-space(text())=\"Click here\"]", "//BUTTON[@ID=\"dropZoneBtnSelect\"]").Click (); tab0.Button ("//BUTTON[normalize-space()=\"Upload\"]", "//BUTTON[normalize-space(text())=\"Upload\"]", "//BUTTON[@ID=\"uploadFiles-btnUpload\"]").Click (); Delay ("40sec".ToDuration ()); tab0.KeywordAssert ("successfully uploaded"); //File Upload from the external URL tab0.Link ("//P[normalize-space()=\"Upload Files\"]/..", "//LI[@ID=\"li-uploadFiles\"]//A", "//LI[@ID=\"li-api\"]/preceding-sibling::LI[1]//A").Click (); tab0.Download ("Q3UTw.htm", "https://dropmefiles.com/Q3UTw"); OpenFileDialogHandler (OpenFileDialogButton.Ok, new string[1] {"Q3UTR.htm"}); tab0.Button ("//BUTTON[normalize-space()=\"Click here\"]", "//BUTTON[normalize-space(text())=\"Click here\"]", "//BUTTON[@ID=\"dropZoneBtnSelect\"]").Click (); tab0.Button ("//BUTTON[normalize-space()=\"Upload\"]", "//BUTTON[normalize-space(text())=\"Upload\"]", "//BUTTON[@ID=\"uploadFiles-btnUpload\"]").Click (); Delay ("40sec".ToDuration ()); tab0.KeywordAssert ("successfully uploaded");