我为我的测试自动化套件设置了TFS构建。它有3个任务 - Nuget还原,解决方案构建和VSTest任务。在我的测试中,我创建了一个新的ChromeDriver实例,并在我的解决方案中安装了Chrome Webdriver Nuget。这在当地工作正常。但是,TFS构建会引发错误:
OpenQA.Selenium.DriverServiceNotFoundException:该文件 c:\ chromedriver.exe不存在
我无法确定为什么Nuget还原不能恢复chrome webdriver包。作业中的所有其他软件包似乎都在恢复/正常工作,因为它已经进入我的SpecFlow功能文件的第一步,并且只有在我尝试启动Chrome实例时才会失败。我错过了什么吗?提前谢谢,迈克
答案 0 :(得分:1)
根据您收到的错误消息,我推断出以下内容:
// v <--- observe the return by reference
Iterator & operator++ ()
{
// something that modify the Iterator object
// return the object itself as reference
return *this;
}
// no reference here: return a copy
Iterator operator++ (int)
{
// copy of the object **before** the increment
// (but you have also to develop a copy constructor)
Iterator copy { *this };
// pre-increment of the object
++(*this);
// return of the before the increment copy
return copy;
}
驱动程序根文件夹中包含chromedriver.exe
二进制文件(我不认为这是一个好主意)。C:
二进制位置添加到chromedriver.exe
环境变量,要么在测试中硬编码其位置首先,确保测试中的位置没有硬编码。
你能做什么:
PATH
二进制位置添加到chromedriver.exe
env变量(之后可能需要重新启动)。如果您有多台机器,不建议使用。升级可能会成为一项痛苦的任务,具体取决于代理的数量。 PATH
或bin/Debug
文件夹,以确保在恢复和构建后确定该文件夹。来自Chromedriver Nuget包装说明:
为Selenium安装Chrome驱动程序(Win32,macOS和Linux64) WebDriver进入您的单元测试项目。 &#34; chromedriver文件(.exe)&#34;在构建过程中从包文件夹复制到bin文件夹。 NuGet包恢复准备就绪,无需提交&#34; chromedriver(.exe)&#34;二进制到源代码控制库。
您还可以查看Microsoft documentation page中的信息。