在TFS 2018构建机上运行IE11的Selenium测试失败求助
针对TFS 2018构建机上IE11 Selenium测试失败的排查方案
我之前也碰到过几乎一模一样的问题,折腾了好几天才搞定,给你列几个我当时排查出来的关键点,你可以逐一试试:
关闭IE增强安全配置(IE ESC)
很多Windows环境默认会开启这个安全限制,直接阻止Selenium驱动和IE的交互。你可以打开控制面板→Internet选项→安全→自定义级别,把所有区域的安全级别调到「中-低」;如果是服务器版系统,也可以在服务器管理器里直接关闭IE ESC功能。匹配IEDriver的版本与位数
一定要确保IEDriverServer的版本和IE11完全对应,同时要适配构建机的系统位数。我当时就是用了64位驱动出问题,换成32位驱动就正常了。另外记得把驱动放到系统PATH目录里,或者在代码里明确指定驱动的绝对路径。验证代理登录账户的权限
虽然是交互式自动登录,但要确认这个账户有足够权限操作IE,而且没有被组策略限制。你可以手动用代理账户登录构建机,打开IE试试能不能正常访问网页,有没有弹出需要手动确认的安全提示——这类提示会直接打断自动化脚本。重新核对注册表项
你说已经按文档添加了注册表项,再仔细检查一下路径和值:- 32位IE路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE - 64位IE路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
确保里面有iexplore.exe的DWORD值设为0,同时检查FEATURE_DISABLE_NAVIGATION_SOUNDS、FEATURE_WINDOW_RESTRICTIONS这类相关项的设置是否正确。
- 32位IE路径:
开启IEDriver日志排查具体错误
在代码里添加日志配置,能帮你定位到底是哪一步出了问题:var options = new InternetExplorerOptions(); options.EnsureCleanSession = true; options.LogFile = @"C:\temp\iedriver.log"; options.LogLevel = InternetExplorerDriverLogLevel.Trace; var driver = new InternetExplorerDriver(options);运行测试后查看日志,里面会有具体的错误提示,比如连接失败、权限不足等。
检查IE缩放与保护模式
- IE的缩放级别必须设为100%(打开IE→查看→缩放确认),否则Selenium会直接报错。
- 所有区域的保护模式状态要统一:打开Internet选项→安全,把四个区域的「启用保护模式」勾选状态保持一致(全选或全不选),之后重启IE。
内容的提问来源于stack exchange,提问作者5earch
相关产品推荐
相关产品推荐

