-1

我在 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\'... 在 Edit-and-Continue 目录中找不到具有匹配校验和的文件。在项目中查找“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();
    }

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

4

1 回答 1

2

首先,如果您阅读该消息,则Reflect.cs不是.js

其次,不是 NUnit 找不到它,而是 VS 调试器。

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

如果你真的打算调试 NUnit 代码,那么你需要在你的机器上安装一个源代码的副本。

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

于 2019-03-20T23:12:09.913 回答