我在Visual Studio 2017中使用C#和Selenium Webdriver来自动化一些测试。我目前遇到的测试是取消警报后找不到元素的测试。
单步执行代码时,出现错误,指示找不到Reflect.js:
查找源 'C:\ src \ nunit \ nunit \ src \ NUnitFramework \ framework \ Internal \ Reflect.cs'。 校验和:SHA1 {db ae 17 40 7a 46 56 f6 79 ee 5a 25 c7 7 94 f1 97 c1 a5 de}文件 'C:\ src \ nunit \ nunit \ src \ NUnitFramework \ framework \ Internal \ Reflect.cs' 不存在。在脚本文档中寻找 'C:\ src \ nunit \ nunit \ src \ NUnitFramework \ framework \ Internal \ Reflect.cs'... 在“编辑并继续”目录中查找 'C:\ GitLab \ Automated-Testing \ Selenium \ SeleniumFramework \ enc_temp_folder \'... 找不到匹配的校验和的文件 编辑并继续目录。寻找项目 'C:\ src \ nunit \ nunit \ src \ NUnitFramework \ framework \ Internal \ Reflect.cs'。 在项目中找不到文件。搜索嵌入的文档 在符号文件中。找不到嵌入式文档。调试 活动解决方案的源文件设置表明 调试器不会要求用户查找文件: C:\ src \ nunit \ nunit \ src \ NUnitFramework \ framework \ Internal \ Reflect.cs。 调试器无法找到源文件 'C:\ src \ nunit \ nunit \ src \ NUnitFramework \ framework \ Internal \ Reflect.cs'。
我的怀疑是有关取消警报的某些事情导致NUnit失去了对其Reflect.js文件的跟踪。这是CancelAlert代码:
public static void CancelAlert()
{
Driver.SwitchTo().Alert().Dismiss();
}
有人对我如何克服此错误有任何想法吗?
答案 0 :(得分:1)
首先,如果您阅读邮件,则该邮件是Reflect.cs
而不是.js
。
第二,不是NUnit无法找到它,而是VS调试器。
NUnit框架是用C#编写的。组成该文件的文件之一是:Reflect.cs
。您显然已经做了一些事情要问,或者您有一些设置要求调试器进入NUnit自己的代码。如果不是故意的,那就不要尝试在自己的Debug代码之外进行调试。
如果您真的想调试NUnit代码,则需要在计算机上的某个位置安装源代码的副本。
这与发生的实际异常无关,但调试消息可能掩盖了您的实际问题。