Wir haben einen automatisierten Test-Cluster auf Selen-Grid.
Um den Cluster zu verwalten, habe ich eine Sammlung von Rake (Ruby) -Tasks erstellt, die Knoten starten, neustarten, pingen und stoppen können. Ich teste unsere Anwendung über eine Reihe von Browsern einschließlich IE6, IE7 und IE8. Dies bedeutet, dass jeder Knoten im Cluster wissen muss, welche Version von IE installiert ist, damit er den korrekten Selen-Grid-Profilnamen (zB: "IE6 on Windows XP"
vs. "IE8 on Windows Vista"
) beanspruchen kann, so dass bestimmte Tests geschrieben werden können gegen diese Browser.
Meine Frage :
Ich möchte hier die Konfigurationsarbeiten einschränken. Wie programmiere ich programmgesteuert, welche Version von IE auf dem aktuellen System ausgeführt wird? Ich habe folgende Technik ausprobiert:
%Vor%Aber das gibt nur Versionen von Programmen zurück, die mit dem Windows Installer installiert wurden, sodass IE in dieser Liste nicht angezeigt wird.
Idealerweise würde ich das gerne aus einem Rake-Skript herausfinden, oder zumindest aus etwas, das von einem Rake-Skript aufgerufen werden kann.
Sie können WMI verwenden, ich weiß, dass es kein Rake-Skript ist, aber Sie könnten das Skript ausführen (oder eine .NET-Anwendung erstellen) und die Ergebnisse in Ihre Anwendung einspeisen.
Es ist eine Art Hack, aber zumindest wird es funktionieren. Hier ist ein Code von technet.
%Vor%Voll Quelle
Sobald Sie diese Informationen haben, können Sie die Informationen über die Befehlszeile an Ihr Rake-Skript übergeben.
%Vor%BEARBEITEN: Sie können diesen Code in eine Datei kopieren / einfügen, nennen Sie es whatever.vbs und verwenden Sie den Befehl cscript , um das Skript auszuführen.
cscript // Nologo ie_version.vbs
Tags und Links ruby internet-explorer windows scripting rake