Wie Sie programmgesteuert ermitteln der installierten version des IE aus einem Skript
Haben wir eine automatisierte Test-cluster auf Basis von selenium-grid.
Zum verwalten des Clusters, die ich gebaut habe, eine Sammlung von Rake (Ruby) Aufgaben starten kann, Neustart, ping, und stoppen Sie den Knoten. Ich bin testen unsere Anwendung über eine Reihe von Browsern, einschließlich IE6, IE7 und IE8. Dies bedeutet, dass jeder Knoten im cluster muss sich bewusst sein, von welcher version des IE installiert ist, so dass er behaupten kann, die richtige selenium-grid-Profil-Namen (zB: "IE6 on Windows XP"
vs. "IE8 on Windows Vista"
), so dass bestimmte tests geschrieben werden können, gegen diesen Browsern.
Meine Frage:
Möchte ich reduzieren auf die Konfiguration, die hier arbeiten. Wie kann ich programmgesteuert ermitteln, welche version von IE läuft auf dem aktuellen system? Ich habe versucht die folgende Technik:
wmic product where "Vendor like '%Microsoft%'" get Name, Version
Aber das gibt nur Versionen der installierten Programme mit dem Windows Installer, so dass der IE nicht zeigen, bis in dieser Liste.
Im Idealfall würde ich mag in der Lage sein zu bestimmen, diese aus dem inneren eines Rake-Skript, oder zumindest etwas, das callable von einem Rake-Skript.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie WMI verwenden, ich weiß es nicht, die Rechen-script, aber man könnte das Skript ausführen (oder erstellen Sie eine .NET-Anwendung) und lassen die Ergebnisse in Ihre Anwendung.
Es ist sozusagen ein hack, aber zumindest funktioniert es. Hier finden Sie den code aus der technet-Website.
Voll Quelle
Sobald Sie diese Informationen haben, können Sie übergeben Sie die Informationen, um Ihre rake-Skript über die Befehlszeile.
EDIT: Sie können kopieren/einfügen diesen code in eine Datei, nennen Sie es, was auch immer.vbs, und verwenden Sie die cscript Befehl, um das Skript auszuführen.
Versuchen, diese für jede version von Windows: