Azure Pipeline运行Protractor测试Chrome与ChromeDriver版本不匹配如何配置yml
报错根因
你的webdriver-manager update命令默认拉取最新正式版ChromeDriver,但你使用的VS2017-Win2016代理镜像中预装的Chrome版本固定为v94,两者版本不匹配导致启动失败。
修正后的YML配置
以下配置会自动读取代理环境的Chrome版本,拉取对应版本的ChromeDriver,无需手动维护版本号,即使后续镜像预装的Chrome版本更新也能自动适配:
pool: vmImage: "VS2017-Win2016" steps: - task: CmdLine@2 displayName: "获取本地Chrome版本并更新匹配的ChromeDriver" inputs: script: | # 读取本地Chrome版本号 $chromeVersion = (Get-Item (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe').'(Default)').VersionInfo.ProductVersion # 截取和ChromeDriver匹配的版本段 $chromeDriverVersion = $chromeVersion.Substring(0, $chromeVersion.LastIndexOf('.')) # 拉取对应版本的ChromeDriver node node_modules/protractor/bin/webdriver-manager update --versions.chrome=$chromeDriverVersion workingDirectory: $(Build.SourcesDirectory)/folderdirectory scriptType: ps - task: CmdLine@2 displayName: "启动webdriver-manager" inputs: script: "node node_modules/protractor/bin/webdriver-manager start --detach" workingDirectory: $(Build.SourcesDirectory)/folderdirectory - script: npx protractor conf.js
可选方案
如果你的测试需要固定Chrome和ChromeDriver版本,直接指定固定版本号即可:
node node_modules/protractor/bin/webdriver-manager update --versions.chrome=94.0.4606.61
内容的提问来源于stack exchange,提问作者Allison.A
相关产品推荐
相关产品推荐

