2015-11-05 3 views
0

Я создаю тест нагрузки/стресс для некоторых веб-страниц. У меня есть настройка HTTP-запроса по умолчанию, которая имеет имя базового сервера. Я хотел бы использовать случайный контроллер и HTTP-запрос для проверки всех страниц наугад, но я не хочу, чтобы 150 HTTP-запросов содержали уникальный путь. Я предпочел бы иметь один HTTP-запрос, который случайно вытаскивает путь из файла.Jmeter: Извлеките пути из файла

Является ли это то, что я описываю, возможно? Может кто-то указать мне верное направление?

ответ

0

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

1

На самом деле это возможно. Все возможно. В случае JMeter вам нужно будет сделать несколько сценариев.

Учитывая следующую структуру плана тестирования:

  • нАлАдкА Group Тема

    • Beanshell Sampler

      import org.apache.commons.io.FileUtils; 
      
      List lines = FileUtils.readLines(new File("/path/to/your/file")); 
      bsh.shared.lines = lines; 
      
  • Группа Thread

    • HTTP Request Sampler, Path: ${randomline}

      • Beanshell препроцессор

        List lines = bsh.shared.lines; 
        Random rnd = new Random(); 
        vars.put("randomline", lines.get(rnd.nextInt(lines.size()))); 
        

можно будет использовать случайный URL из файла, как HTTP Путь запроса.

Объяснение:

  • setUp Thread Group - особый тип резьбы Группа, которая выполняется перед любой другой Thread Group. Идея состоит в том, чтобы читать файл только один раз.
  • Beanshell Sampler - использует FileUtils библиотеку, чтобы прочитать все строки в строках массив и bsh.shared пространства имен, так что массив будет доступен по всему миру для всех групп темы
  • Beanshell PreProcessor - использует Random класса для генерации случайного числа линий, получает случайное значение из строки массив и сохраняет значение в переменной randomline через класс JMeterVariables.

При необходимости создайте случайную строку как ${randomline}.

См. Руководство How to Use BeanShell: JMeter's Favorite Built-in Component для получения дополнительной информации о сценариях Beanshell в JMeter и кулинарной книге Beanshell.