如果Assert.AreEqual失败,如何截图?如何使用Assert.AreEqual设置if条件
本文关键字:AreEqual Assert 设置 if 条件 何使用 何截图 失败 如果 | 更新日期: 2023-09-27 17:59:28
我正在尝试拍摄C#硒中失败测试用例的屏幕截图。
但是我不知道如何将if条件与Assert.AreEqual
一起使用。
我也尝试过使用if(Assert.Equals == false)
,但不起作用。
有人能帮忙吗??
实际上,"Asset.AreEqual"接受三个参数1.布尔中的预期结果2.布尔中的原始结果3.错误消息
如果预期的和原始的不匹配,它会抛出一个错误,对于屏幕截图,你需要使用try-catch,我很久以前就用过了。
public void AreEqual(需要布尔,布尔结果,字符串comment=",字符串pictureName="){尝试{Assert.AreEqual(预期,结果,注释);
}
catch
{
/// will capture a screenshot of errors
if (string.IsNullOrEmpty(pictureName) && !string.IsNullOrEmpty(comment))
{
int length = comment.Replace(" ", string.Empty).Length;
if (length > 30)
length = 30;
pictureName = comment.Replace(" ", string.Empty).Substring(0, length);
}
pictureName = (pictureName == "" ? Guid.NewGuid().ToString() : pictureName);
GetScreenShot(pictureName);
// Getscreenshot function capture image for me u need to put your code here(before throw)
throw;
}
}
查看更多实际测试会有所帮助,但由于Assert.Equals
不返回值,因此可以将其分解为多个步骤。
例如,如果你有这个:
Assert.AreEqual(value1, value2);
然后你可以用这个来代替它:
var areValuesEqual = (value1 == value2);
Assert.IsTrue(areValuesEqual);
if (!areValuesEqual)
{
// rest of testing logic
}