Как запустить тестовый проект дважды, используя Selenium C # с NUnit - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть тестовый проект, который разработан с использованием 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. Теперь снова запустите все тесты для Агента.

В настоящее время я могу протестировать приложение как администратор или как агент.

Я не совсем понимаю, как повторно запустить эти сценарии для нового профиля (агент). Пожалуйста, помогите мне.

Спасибо за ваше время и усилия.

1 Ответ

0 голосов
/ 11 сентября 2018

Вы можете использовать атрибут Test case, доступный в Nunit, см. Эту ссылку здесь

Тогда ваш метод тестирования может принимать параметр как userRole.Теперь метод испытаний будет запущен дважды с параметром обеих этих ролей.

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

//Act

//Assert
}
...