Как программно определить установленную версию IE из сценария

У нас есть автоматизированный кластер тестирования на основе сетки селена.

Для управления кластером я создал набор Граблей (Ruby) задачи, которые могут запуститься, перезапустить, проверить с помощью ping-запросов, и узлы остановки. Я тестирую наше приложение через многие браузеры включая IE6, IE7 и IE8. Это означает, что каждый узел в кластере должен знать, какая версия IE установлена так, чтобы это могло требовать корректного имени профиля сетки селена (например: "IE6 on Windows XP" по сравнению с. "IE8 on Windows Vista"), так, чтобы определенные тесты могли быть записаны против тех браузеров.

Мой вопрос:

Я хотел бы сократить работу конфигурации здесь. Как я программно определяю, какая версия IE работа является существующей системой? Я попробовал следующую технику:

wmic product where "Vendor like '%Microsoft%'" get Name, Version

Но это только возвращает версии программ, которые были установлены с Windows Installer, таким образом, IE не обнаруживается в этом списке.

Идеально я хотел бы смочь определить это изнутри сценария Граблей или по крайней мере чего-то, что это является вызываемым из сценария Граблей.

7
задан Maciek 20 January 2010 в 21:17
поделиться

1 ответ

Вы можете использовать WMI, я знаю, что это не скрипт граблей, но вы можете запустить скрипт (или создать приложение .NET) и подавать результаты в ваше приложение.

Это вроде взлома, но, по крайней мере, он будет работать. Вот какой-то код из Technet.

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & _
    "\root\cimv2\Applications\MicrosoftIE")

Set colIESettings = objWMIService.ExecQuery _
    ("Select * from MicrosoftIE_Summary")

For Each strIESetting in colIESettings
    Wscript.Echo strIESetting.Version
Next

Full Source

Как только у вас есть эта информация, вы можете передавать информацию в ваш скрипт граблей с помощью командной строки.

rake YourScript[<argument from vbscript>]

EDIT: Вы можете скопировать / вставить этот код в файл, назовите его whatever.vbs, и используйте команду Cscript для выполнения сценария.

CScript // Nologo IE_Version.VBS

2
ответ дан 7 December 2019 в 16:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: