tom*_*tom 2 c# mstest webdriver
我试图将我的某些WebDriver测试从JAVA移植到C#。我坚持的是驱动程序无法在页面上找到某些元素的情况,在JAVA中,我这样做:
if (second >= 10) fail("timeout - " + list);
Run Code Online (Sandbox Code Playgroud)
因此,如果某件事花费了10秒钟以上,则测试将失败并显示超时消息。我在C#中尝试了类似的方法
if (sec >= 10) Debug.Fail("timeout : " + vList);
Run Code Online (Sandbox Code Playgroud)
但这实际上并没有使测试失败,但是给了我一个选择,它带有异常消息框。那不是不,我需要我的自动测试完全失败。然后我尝试
if (sec >= 10) Assert.Fail("timeout : " + vList);
Run Code Online (Sandbox Code Playgroud)
但这会引发未处理的异常错误。我应该在try / catch块中包含Assert.Fail吗?还是应该使用完全不同的方法使测试失败?
如主题中所述,我正在使用MSTest。
编辑:确切的消息是:
用户代码未处理AssertFailedException。断言失败。超时:someField。
上
Assert.Fail(“ timeout:” + vList);
我认为您正在看到这种行为,因为您已将调试器附加到正在运行的测试中Assert.Fail-throws AssertFailedException,调试器看到异常并中断-而您没有得到测试结果。
在“调试”菜单上,进入“异常”,查找AssertFailedException(如果没有,请为其创建一个条目),并确保针对该异常类型关闭了“抛出异常”的功能。
或者,在不连接调试器的情况下运行测试。