У меня есть сценарий для запуска test1 из моего текущего теста под названием test2 в java селене - PullRequest
0 голосов
/ 16 июня 2020

Ниже приведены мои требования. Как я могу это сделать в Java Selenium. Пожалуйста, поделитесь своими предложениями.

Шаг 1: Получите счет на вкладке «GetInfo»

Шаг 2: Затем запустите еще один test1 из текущего теста (test2). [Тест 1 - это еще один класс, как я могу запустить этот класс]

Шаг 3: После завершения test1 снова мне нужно получить счет из вкладки «getInfo».

Шаг 4: Затем мне нужно сравнить детали "GetInfo"

Мы используем TestNG, maven в нашем проекте. Пожалуйста, помогите мне. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Ваша проблема не связана ни с Selenium, ни с TestNG, ни с Java. Вы должны уметь отойти и взглянуть на свою проблему. Это просто проблема с правильной структурой вашего logi c.

Извлеките все ваши logi c в новый (вспомогательный) класс, например:

public class GetInfoLogic {

    public int count() {

        int count = 0;
        // get the count
        return count;
    }

    public void test1_logic() {

        // whatever is the logic for test1

        // maybe this returns some stuff?
    }
}

И ваши два тестовые классы будут выглядеть так:

public class TestOne {

    @Test
    public void test1() {

        GetInfoLogic getInfo = new GetInfoLogic();
        getInfo.test1_logic();
        // maybe do something with the returned "stuff"
    }
}

public class TestTwo {

    @Test
    public void test2() {

        GetInfoLogic getInfo = new GetInfoLogic();
        int count_before = getInfo.count();
        getInfo.test1_logic();
        int count_after = getInfo.count();

        // compare the "GetInfo" details, maybe something like:
        Assert.assertEquals(count_before, count_after);
    }
}

Прямой вызов одного теста из другого всегда плохая идея!

0 голосов
/ 16 июня 2020

Если я правильно понимаю, вы берете начальное значение из вкладки GetInfo. Затем из вашего test2 вы хотите вызвать test1, который снова выполняет некоторую обработку и обновляет значение GetInfo. Наконец, вы хотите сравнить значение GetInfo деталей.

Насколько я знаю, вы не можете вызвать тест из другого теста. Однако у меня есть работа. Вам необходимо объединить задачу, которую вы выполняете в test1, с вашей test2, чтобы test2 теперь выполнял как проверку test1, так и тест 2.

Пример: -

test1(){
//does some processing on getInfo
}

сохранить исходное значение getInfo

test2(){
//does some processing on getInfo (which was done in test1)
//do the task for test 2
//get the final value of the getInfo and compare with initial test
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...