【问题标题】:TFS2018 Automated Test Build The file c:\chromedriver.exe does not existTFS2018 自动测试构建文件 c:\chromedriver.exe 不存在
【发布时间】:2018-03-22 21:30:07
【问题描述】:
我已经为我的测试自动化套件在 TFS 上构建了一个版本。它有 3 个任务 - Nuget 还原、解决方案构建和 VSTest 任务。在我的测试中,我创建了一个新的 ChromeDriver 实例,并在我的解决方案上安装了 Chrome Webdriver Nuget。这在本地运行良好。然而,TFS 构建引发了以下错误:
OpenQA.Selenium.DriverServiceNotFoundException : 文件
c:\chromedriver.exe 不存在
我无法弄清楚为什么 Nuget 恢复没有恢复 chrome webdriver 包。工作中的所有其他软件包似乎都在恢复/工作正常,因为它正在进入我的 SpecFlow 功能文件的第一步,并且只有在我尝试启动 Chrome 实例时才会失败。我错过了什么吗?在此先感谢迈克
【问题讨论】:
标签:
selenium
tfs
tfsbuild
【解决方案1】:
根据您收到的错误消息,我推断如下:
- 在您的本地计算机上,您的
C: 驱动程序根文件夹中有 chromedriver.exe 二进制文件(我认为这不是一个好主意)。
- 您要么将
chromedriver.exe 二进制位置添加到 PATH 环境变量中,要么在测试中硬编码其位置
首先,确保该位置在您的测试中没有被硬编码。
你可以做什么:
- 在代理机器上手动复制并将
chromedriver.exe二进制位置添加到PATH环境变量(之后可能需要重新启动)。如果您有多台机器,则不建议这样做。根据代理的数量,升级可能会成为一项痛苦的任务。
- 继续使用 Nuget。您最终可以检查
bin/Debug 或 bin/Release 文件夹,以确保它在还原和构建后存在。
来自 Chromedriver Nuget 包说明:
为 Selenium 安装 Chrome 驱动程序(Win32、macOS 和 Linux64)
WebDriver 进入您的单元测试项目。
在构建过程中,“chromedriver(.exe)”从包文件夹复制到 bin 文件夹。
NuGet 包恢复就绪,无需将“chromedriver(.exe)”二进制文件提交到源代码控制库。
您也可以查看微软documentation page的信息。