在Azure版本上执行Selenium C#脚本时,Excel文件不会被读取



我在Azure上托管了一些Selenium C#测试,他们需要在存储在bin文件夹中的项目树中查找预先构建的excel文件,以执行一些文件上传验证场景。

当它们在本地执行时,这些场景会顺利通过,但当它在Azure上执行时,它们会收到以下错误。

invalid argument: File not found : D:ar1a_Selenium_TestsTestApplicationbinDebugnetcoreapp3.1FilesSC003_CT014_ActiveEmployees.xlsx

文件确实存在于以下路径中:。。。\bin\Debug\netcoreapp3.1\文件…

我对他们使用的代码是:

string root = Directory.GetCurrentDirectory() + "\Files\" + file;

你知道是否有丢失的文件配置或以另一种方式构建filePath吗?

感谢您的帮助:D

Directory.GetCurrentDirection()返回当前工作目录,而不是DLL文件所在的文件夹。当前的工作目录是另一回事。在您的情况下,当前的工作目录可能类似于D:ar1。相反,您需要获得测试程序集所在的文件夹:

var binDirectory = Path.GetDirectoryName(GetType().Assembly.Location);
//                                       ^^^^^^^^^
var excelFilePath = Path.Combine(binDirectory, "Files", "SC003_CT014_ActiveEmployees.xlsx");

注意:如果从静态方法执行代码,或者希望指定指向与当前执行的程序集不同的程序集的路径,请将GetType()替换为typeof(ClassName)

相关内容

  • 没有找到相关文章

最新更新