WeChat Mini Program Automated Testing Framework Minium – Häufig gestellte Fragen zum Laden von Seiten

Der vorherige Artikel fasst hauptsächlich die allgemeinen Probleme zusammen, auf die Sie bei der Verwendung des Minium-Automatisierungsframeworks stoßen, d. h. die allgemeinen Probleme bei der Installation von Minium, und die Probleme und Lösungen, die häufig bei der Verwendung von Minium auftreten, einschließlich der Initialisierung und Ausführung von Anwendungsfällen.

Das unvollständige Laden von Seiten ist einer der häufigsten Gründe dafür, dass Minium-Testfälle auf echten Geräten fehlschlagen .

Der Hauptgrund ist, dass das Schreiben von Fällen im Allgemeinen auf Entwicklertools (Windows- oder Mac-Computern) erfolgt. Im Allgemeinen sind die Internetgeschwindigkeit und die Reaktionsgeschwindigkeit des realen Computers viel langsamer als die des Entwicklertools .
Wenn der Code die Methode sleepverwendet , einige Sekunden zu warten, bevor eine Operation ausgeführt wird, ist es wahrscheinlich, dass die Wartezeit auf dem Entwicklertool ausreicht, um erfolgreich ausgeführt zu werden, aber das echte Gerät benötigt eine längere Wartezeit zum Laden und Abschließen, wodurch die Anwendungsfall zum Scheitern.

Die folgende Abbildung ist ein Beispiel für einen Anwendungsfall, bei dem der Test aufgrund eines unvollständigen Seitenladens fehlschlägt , wenn der Cloud-Testdienst einen Fall auf einem realen Computer ausführt

Bildbeschreibung hier einfügen

Wenn der laufende Test aufgrund des unvollständigen Ladens der Seite fehlschlägt , können Sie das Problem mit den folgenden Methoden beheben

1. Überprüfen Sie zuerst das Netzwerkprotokoll, um herauszufinden, warum die Seite nicht geladen wird

Klicken Sie im Cloud-Messdienst zunächst auf die Netzwerkanforderungsdetails, um das Netzwerkanforderungsprotokoll anzuzeigen.Sie können auf die folgenden Aspekte achten:

  • Ob der Anforderungsstatuscode 200. Im Allgemeinen können die Statuscodes 4xx und 5xx ein Clientproblem oder ein Serververbindungsproblem sein. Dies kann beispielsweise durch die Notwendigkeit verursacht werden, den Proxy für den Zugriff auf den Server usw. zu konfigurieren.
  • Achten Sie auf den Zeitverbrauch der Anfrage, um festzustellen, ob es sich um ein Netzwerkproblem handelt oder die Netzwerkgeschwindigkeit relativ langsam ist
  • Achten Sie auf die zurückgegebene Antwort. Manchmal ist der Netzwerkstatuscode normal und die zeitaufwändige Anfrage normal, aber die Antwort gibt einen Nullwert zurück, und es sollten unter normalen Umständen entsprechende Daten vorhanden sein, was auch zu einem weißen Bildschirm auf der Seite führen kann. Zu diesem Zeitpunkt können Sie überprüfen, warum die Rückgabe vom Hintergrundserver leer ist, oder die Mock-Anforderungsmethode verwenden , um den korrekten Rückgabewert über die Mock-Methode zurückzugeben

Bildbeschreibung hier einfügen

2. Optimierung des Verzögerungscodes für Anwendungsfälle

Wenn festgestellt wird, dass der reale Computer sleepnicht genügend Zeit hat und die Seite nicht geladen wird, wird empfohlen, den Ruhezustand nicht zum Warten zu verwenden. Sie können je nach Bedarf zwischen den folgenden Wartemethoden wählen:

ret = self.app.wait_for_page("/pages/testpage/testpage")
self.assertTrue(ret, "wait success")
  • wait_util()
    wartet darauf, dass die Seite asynchron geladen wird
ret = self.app.wait_util(0, 5)  # 5s内, 页面没有任何未完成的异步请求
self.assertTrue(ret, "wait success")
  • wait_for()
    wartet bis die angegebene Bedingung erfüllt ist, die Bedingung kann ein Seitenelement, eine benutzerdefinierte Funktion oder die Wartezeit (in Sekunden) sein
ret = self.page.wait_for(".waitfor", max_timeout=2)
self.assertTrue(ret, "wait success")
keys = ("testwait", "waitkeys.b")
ret = self.page.wait_data_contains(*keys, max_timeout=3)
# 2s后,page.data={testwait: 1, waitkeys: {a: 1, b: false}}
# 4s后 page.data = {}
self.assertTrue(ret, "wait success")

brauchen Sie Hilfe

Supongo que te gusta

Origin blog.csdn.net/WXMiniTest/article/details/128225435
Recomendado
Clasificación