如何使用Selenium C#和NUnit运行两次测试项目



我有一个测试项目,它是使用Selenium c#和Nunit开发的。它与生成过程 (CI( 集成。

根据业务规则,我必须使用两个配置文件测试应用程序 1. 管理员 2. 代理

这意味着我必须使用管理员角色执行一次所有硒测试,然后使用代理角色再次重新运行所有这些测试。

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.现在,再次为代理重新运行所有测试。

目前,我可以作为管理员或代理测试应用程序。

我对如何为新配置文件(代理(重新运行这些脚本感到困惑。请帮帮我。

感谢您的时间和精力。

您可以使用 Nunit 中提供的测试用例属性,请参阅此处的链接

然后,您的测试方法可以采用参数作为用户角色。现在,测试方法将使用这两个角色的参数运行两次。

[TestCase("Admin")]
[TestCase("Agent")]   
public void UnitTestName(string userRole)
{
//Arrange
//Act
//Assert
}

最新更新