我试图在C#selenium中截取失败的测试用例的截图。
但我不知道如果使用条件Assert.AreEqual
。
我也尝试使用if(Assert.Equals == false)
,但这不起作用。
有人可以帮忙吗??
答案 0 :(得分:1)
实际上,“Asset.AreEqual”接受三个参数 1. bool的预期结果 2. bool的原始结果 3.错误消息
如果预期和原始不匹配则会产生错误,对于截图,您需要使用try-catch,我很久以前就已经使用过了。
public void AreEqual(bool expected,bool result,string comment =“”,string 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;
}
}
答案 1 :(得分:0)
查看更多实际测试会有所帮助,但由于Assert.Equals
没有返回值,您可以将其分解为多个步骤。
例如,如果你有这个:
Assert.AreEqual(value1, value2);
然后你可以用它替换它:
var areValuesEqual = (value1 == value2);
Assert.IsTrue(areValuesEqual);
if (!areValuesEqual)
{
// rest of testing logic
}