我有一个测试项目,该项目使用带有Nunit的硒c#开发。它与构建过程(CI)集成在一起。
根据业务规则,我必须使用两个配置文件测试应用程序 1.管理员 2.代理商
这意味着我必须以Admin角色执行一次所有硒测试,然后以Agent角色再次运行所有这些测试。
class TestCases
{
string user = string.Empty;
ChromeDriver d;
[SetUp]
public void setup()
{
d = new ChromeDriver();
d.Url = "https://www.example.com/";
user = d.FindElement(By.Id("Role")).Text; //Admin or Agent
}
[Test]
public void TestCaseID_1()
{
if (user.Equals("Admin") || user.Equals("Agent"))
{
// code
}
}
[Test]
public void TestCaseID_2()
{
if (user.Equals("Agent"))
{
// code
}
}
[Test]
public void TestCaseID_3()
{
if (user.Equals("Admin"))
{
//change user role from Admin to Agent
}
}
[TearDown]
public void tearrdown()
{
d.Dispose();
d.Quit();
}
}
我正在寻找这样的东西: 1.所有测试应首先以管理员身份运行。 2.在上一次测试中,管理员应将其角色从“管理员”降级为“代理”。 3.现在,再次为代理重新运行所有测试。
当前,我能够以管理员或代理身份测试该应用程序。
我对如何为新的配置文件(代理)重新运行这些脚本感到困惑。请帮我。
感谢您的时间和精力。
答案 0 :(得分:0)
您可以使用Nunit中可用的“测试用例”属性,请参考此链接here
然后,您的测试方法可以采用userRole作为参数。现在,使用这两个角色的参数,测试方法将运行两次。
[TestCase("Admin")]
[TestCase("Agent")]
public void UnitTestName(string userRole)
{
//Arrange
//Act
//Assert
}