取消警报后,NUnit似乎失去了对Reflect.js的跟踪

时间:2019-03-20 21:45:41

标签: c# selenium-webdriver nunit alert reflect

我在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();
    }

有人对我如何克服此错误有任何想法吗?

1 个答案:

答案 0 :(得分:1)

首先,如果您阅读邮件,则该邮件是Reflect.cs而不是.js

第二,不是NUnit无法找到它,而是VS调试器。

NUnit框架是用C#编写的。组成该文件的文件之一是:Reflect.cs。您显然已经做了一些事情要问,或者您有一些设置要求调试器进入NUnit自己的代码。如果不是故意的,那就不要尝试在自己的Debug代码之外进行调试。

如果您真的想调试NUnit代码,则需要在计算机上的某个位置安装源代码的副本。

这与发生的实际异常无关,但调试消息可能掩盖了您的实际问题。