微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用已发布的 Web 应用程序使用 selenium 有效运行 .net 核心单元测试

如何解决如何使用已发布的 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?