Eine selbst gebaute PAC-Testseite hat zwei Felder mit der Beschriftung Host und URL. Der Button übergibt ihre Werte in dieser Reihenfolge. Leider erwartet die PAC-Funktion die umgekehrte Reihenfolge.

FindProxyForURL(url, host)

Für ein beispielhaftes Ziel sollte der Aufruf so aussehen:

FindProxyForURL("https://status.office.example/", "status.office.example")

Das zweite Argument ist ein Hostname, ohne Schema, Pfad oder Port. Eine Regel, die host mit einem bekannten Namen vergleicht, passt nicht, wenn die Testumgebung dort eine vollständige URL liefert.

Beide Eingaben sind Strings, daher muss JavaScript keinen Fehler werfen. Das Skript kann still sein abschließendes return erreichen und einen plausibel aussehenden Proxy anzeigen. Deshalb ist dieser Fehler besonders leicht mit einer schlechten Domainregel zu verwechseln.

Den Aufruf vor der Regel prüfen

Lesen Sie den Funktionsaufruf in der Testumgebung und prüfen Sie die beiden Werte an dieser Grenze. Vergleichen Sie dann eine bekannte Ausnahme für einen exakten Host mit einem unabhängigen Host, der die Standardroute nutzen sollte. Erweitern Sie die Ausnahme nicht, bis sie zur fehlerhaften Eingabe passt.

Auch ein korrigierter Aufruf lässt die Hilfsumgebung des Evaluators offen. Ein festes myIpAddress() oder ein fehlender DNS-Helfer ist nicht der reale Netzwerkzustand des Browsers. Behandeln Sie das als getrennte Fragen. Die unmittelbare Reparatur ist der Parametervertrag; die nächste Reparatur, falls nötig, ist die Testumgebung den vorgesehenen Nutzer abbilden zu lassen.

Ähnliche Artikel