我必须在 HTML 页面上工作并验证结果(添加一些文本,从组合框中选择一些项目,单击某个按钮)。
例如 action1、action2 和 action3。
在每个动作之后,我需要验证前一个动作的结果。在 QTP 中,我们将使用 Report.Fail(通过,警告)并转到下一个操作。
在代码 UI 中,我使用的是类似的东西
try{
Action1;
Assert //some kind of assert
Action2;
Assert //some kind of assert
Action3;
Assert //some kind of assert
}
Catch (exception ex)
{
...
Assert.Fail()
}
这在某种程度上有效,但并不完美。问题是,如果我删除Assert.Fail
from catch
,测试将通过!这很奇怪(甚至之前的断言也导致进入 catch 语句)。另一方面,如果我保留assert.fail
在 catch 语句中,测试将失败,但屏幕截图不是正确的(屏幕截图将被拍摄assert.fail
但不是以前的)。
所以我的第一个问题是如何使用多个断言,如果其中一个失败,以正确的方式关闭测试并将测试标记为失败?
我的第二个问题是,是否可以使用断言进行逻辑运算?让我们假设我们有一个条件可以是 A 或 B(取决于或运行时情况)。现在我应该如何检查断言条件?如果条件是 A 或 B,它应该只通过测试。在所有其他情况下,测试应该失败。
谢谢