微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何以编程方式确定从脚本安装的IE版本

我们有一个基于selenium电网的自动testing集群。

为了pipe理集群,我构build了一个Rake(Ruby)任务集合,可以启动,重新启动,ping和停止节点。 我在包括IE6,IE7和IE8在内的许多浏览器上testing我们的应用程序。 这意味着群集中的每个节点都必须知道安装了哪个版本的IE,以便能够声明正确的selenium网格configuration文件名称(例如: "IE6 on Windows XP"与"IE8 on Windows Vista" ),所以某些testing可以针对这些浏览器进行编写。

我的问题

我想在这里减lessconfiguration工作。 如何以编程方式确定当前系统上正在运行哪个版本的IE? 我已经尝试了以下技术:

build立一个垂直的IE浏览器栏(带对象)(如collections夹面板)

退出错误Internet Explorer窗口

如何从Windows命令行调用F12开发人员工具中不同版本的Internet Explorer选项

HTML 5video – video.buffered.length在IE 10/11上返回0

自定义协议处理程序启动IE – 不一致的结果

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

但是,这只会返回与Windows安装程序一起安装的程序的版本,所以IE不会显示在此列表中。

理想情况下,我希望能够从Rake脚本内部或者至less从Rake脚本中调用

检查前一个特定的文本字段。 IE与一个运行的Windows应用程序

Internet Explorer如何决定跨越一个新的浏览器窗口的新stream程?

即试图打开本地文件时,即8.0访问被拒绝

如何在Windows 10上强制安装IE 11?

使用Apache vhostconfiguration无法禁用IE兼容性模式

您可以使用WMI,我知道这不是一个rake脚本,但是您可以运行该脚本(或创建一个.NET应用程序)并将结果提供给您的应用程序。

这是一种黑客,但至少它会起作用。 以下是来自technet的一些代码

strComputer = "." Set objWMIService = Getobject("winmgmts:\" & strComputer & _ "rootcimv2ApplicationsMicrosoftIE") Set colIESettings = objWMIService.ExecQuery _ ("Select * from MicrosoftIE_Summary") For Each strIESetting in colIESettings Wscript.Echo strIESetting.Version Next

完整的来源

获得这些信息之后,您可以使用命令行将信息传递给您的rake脚本。

rake YourScript[<argument from vbscript>]

编辑:你可以复制/粘贴这个代码一个文件中,命名为whatever.vbs,并使用cscript命令来执行脚本。

cscript // Nologo ie_version.vbs

试试这个任何版本的Windows:

Const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set oReg=Getobject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "rootdefault:StdRegProv") strKeyPath = "SOFTWAREMicrosoftInternet Explorer" strValueName = "Version" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue Wscript.Echo "Installed IE Version: " & strValue Wscript.Echo "IE Version: " & Left(strValue,1)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐