RandomStringUtils - не генерирует уникальную строку для каждого тестового сценария - PullRequest
0 голосов
/ 27 сентября 2019

Я выполняю тест Selenium и пытаюсь сгенерировать разные случайные строки для каждого из моих сценариев тестирования, но я продолжаю получать одну и ту же строку.

Вот пример того, что я бегу:

String randomString = RandomStringUtils.randomAlphabetic(8);

@Test(priority = 1)
private void testScenario_1(){
    System.out.println(randomString);
}

@Test(priority = 2)
private void testScenario_2(){
    System.out.println(randomString);
}

Ответы [ 2 ]

2 голосов
/ 27 сентября 2019

Другим возможным методом будет генерирование случайной строки в аннотированном методе @BeforeMethod.

String randomString = "";

@BeforeMethod
private void init() {
    randomString = RandomStringUtils.randomAlphabetic(8);
}

@Test(priority = 1)
private void testScenario_1() {
    System.out.println(randomString);
}

@Test(priority = 2)
private void testScenario_2() {
    System.out.println(randomString);
}

Метод init будет вызываться перед каждым методом тестирования.Кто-то может подумать, что в этом случае это не нужно, но если вам нужно больше подготовиться, это путь.Вы уменьшите дублирующийся код.

1 голос
/ 27 сентября 2019

Одно и то же значение randomeString упоминается в обоих тестах.Переместите генерацию randomAlphabetic внутри теста, как показано ниже.

String randomString = "";

@Test(priority = 1)
private void testScenario_1(){
    randomString = RandomStringUtils.randomAlphabetic(8);
    System.out.println(randomString);
}

@Test(priority = 2)
private void testScenario_2(){
    randomString = RandomStringUtils.randomAlphabetic(8);
    System.out.println(randomString);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...