如何解决如何使用已发布的 Web 应用程序使用 selenium 有效运行 .net 核心单元测试
我有一个 .NET Core v2.2 应用程序。我正在尝试启动基于单元测试项目的 Selenium UI 测试(尝试使用 NUnit、xUnit)。
测试可以从 VS(使用 TestExplorer)本地启动,也可以从本地 .NET Core 2.2 应用启动。
目标是在 IIS 中部署应用程序后,使用视图中的按钮开始测试。
我尝试过使用反射启动测试和实例化类,或在命令行中将其作为进程启动(通过运行 nunit3-console.exe、dotnet test 或 vstest.console.exe)。
使用时
dotnet test {PathToTestDll} --filter "Name ~{testName}" --logger trx --results-directory {resultDir}
命令,我可以从cmd开始测试,但是当尝试打开已发布的站点时,我收到缺少dll的错误
无法加载文件或程序集“Microsoft.VisualStudio.Coverage.CoreLib.Net,版本=16.9.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”。系统找不到指定的文件。
System.Reflection.ReflectionTypeLoadException:无法加载一个或多个请求的类型。),这是 VS Enterprise 的一部分,我目前使用的是 VS Professional 2019 版本 16.9.1。
如果我尝试使用
nunit3-console.exe --test={testFullyQualifiedname} {PathToTestDll}
我因缺少 nunit.framework 包而收到另一个错误:
NUnit.Engine.NUnitEngineException : 加载测试时驱动程序发生异常。
System.IO.FileNotFoundException:无法加载文件或程序集“nunit.framework,版本=3.12.0.0,文化=中性,PublicKeyToken=2638cd05610744eb”或其依赖项之一。系统找不到指定的文件。
--NUnitEngineException
加载测试时驱动程序中发生异常。)无论我是在 nunit.framework 文件所在的目录中执行它(C:\Users{user}.nuget\packages\nunit{version}),还是已发布的项目的目录(在 C:\inetpub\wwwroot{projectName} 中的某处)。
现在使用反射时,应用发布后,测试失败,并出现相同的错误(javascript错误:无法在“文档”上执行“elementsFromPoint”:提供的双精度值是非有限的。(会话信息: chrome=88.0.4324.190)),这是一个 Selenium 错误,如果我没有记错的话,使用非唯一的方式来定位元素。对于每个测试。我已经检查过了,可以向你保证,事实并非如此。
此时,我已经接受了我正在做某事或所有事情都是错误的,但无法确定是什么。
我不得不说,我目前使用的是 NUnit3、chromedriver v88.0.4324.96、Selenium.WebDriver 3.141.0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。