我这里有我在 selenium c# 中使用 NUnit 框架和多个测试的脚本,如下所示,它连接到我的 TestRail,我想知道是否有任何方法可以在实际测试完成之前检查我的测试是否通过。
[Test, Order(0)]
public void Login()
{
Navigate.ToLoginPage();
Log.In("user");
TestRailServer.Result("1"); //1 is testcase id
}
[Test, Order(1)]
public void RegisterUser()
{
Add.User();
TestRailServer.Result("2"); //2 is testcase id
}
您在测试中看到的 TestRailServer.Result("1") 是我在 testrail 中的连接,它将根据 TestMethod(Login and RegisterUser) 决定 testrail 中的测试用例是通过还是失败
这是我在 TestRail 连接中的代码
private static TestRailClient trClient;
public static void Result(string testCaseID)
{
ulong testRunID = "testRailID";
string testrailComment;
trClient = new TestRailClient("https://client.testrail.net/",
"username", "password");
var result = TestContext.CurrentContext.Result.Outcome.Status;
var testrailStatus = result switch
{
TestStatus.Failed => ResultStatus.Failed,
TestStatus.Passed => ResultStatus.Passed,
_ => ResultStatus.Retest
};
testrailComment = (testrailStatus == ResultStatus.Failed) ? TestContext.CurrentContext.Result.Message : "Passed";
trClient.AddResultForCase(testRunID, ulong.Parse(testCaseID), testrailStatus, testrailComment);
}
但问题是 TestRailServer.Result 在测试完成之前被调用,所以我需要一种方法来判断我的测试在执行 TestRailServer 之前是否通过
如果有任何帮助,感谢您的帮助,如果您觉得难以理解,请道歉