TFS2018 自动化测试构建 The file c:\chromedriver.exe does not exist

TFS2018 Automated Test Build The file c:\chromedriver.exe does not exist

我已经在 TFS 上为我的测试自动化套件设置了构建。它有 3 个任务 - Nuget 恢复、解决方案构建和 VSTest 任务。在我的测试中,我创建了一个新的 ChromeDriver 实例,并且在我的解决方案中安装了 Chrome Webdriver Nuget。这在本地工作正常。然而,TFS 构建抛出了一个错误:

OpenQA.Selenium.DriverServiceNotFoundException : The file c:\chromedriver.exe does not exist

我不明白为什么 Nuget 恢复没有恢复 chrome webdriver 包。作业中的所有其他包似乎 restoring/working 都很好,因为它已进入我的 SpecFlow 功能文件中的第一步,并且仅在我尝试启动 Chrome 的实例时失败。我错过了什么吗?提前致谢,迈克

根据您收到的错误消息,我推断如下:

  • 在您的本地计算机上,您的 C: 驱动程序根文件夹中有 chromedriver.exe 二进制文件(我认为这不是一个好主意)。
  • 您要么将 chromedriver.exe 二进制位置添加到 PATH 环境变量,要么您在测试中对其位置进行了硬编码

首先,确保该位置未在您的测试中进行硬编码。

你能做什么:

  • 在 Agent 机器上手动复制并将 chromedriver.exe 二进制位置添加到 PATH env 变量(之后可能需要重新启动)。如果您有多台机器,则不推荐使用。根据代理的数量,升级可能会成为一项痛苦的任务。
  • 继续使用 Nuget。您最终可以检查 bin/Debugbin/Release 文件夹,以确保它在恢复和构建后存在。

来自 Chromedriver Nuget 包描述:

Install Chrome Driver (Win32, macOS, and Linux64) for Selenium WebDriver into your Unit Test Project. "chromedriver(.exe)" is copied to bin folder from package folder when the build process. NuGet package restoring ready, and no need to commit "chromedriver(.exe)" binary into source code control repository.

您也可以从微软 documentation page.

查看信息