пятница, 10 сентября 2010 г.

Logic Controllers

Мой перевод с английского ниже. Все замечания по поводу неправильности перевода приветствуются! Переводил пару лет назад.

1. Simple Controller - используется для группирования и установления порядка выполнения для Samplers и других Logic Controllers.
2. Loop Controller - выполнит все, что находится у него как child Count Loop раз.
3. Once Only Controller - исполняет свое содержимое только один раз и пропускает выполнение содержимого при последующих итерациях. Пример: Loop Controller настроен на пятикратное выполнение и содержит Once Only Controller, содержимое Once Only Controller выполнится только один раз.
4. Interleave Controller - если внутри него находятся Generative или Logic Controllers, то выполняется один из них по порядку для каждой итерации.
5. Random Controller - похож на Interleave Controller, только на каждой итерации выполняемая часть берется не по порядку, а в случайной последовательности.
6. Random Order Controller - больше похож на Simple Controller, выполняются все его "дети", только выполнение происходит в произвольном порядке.
7. Throughput Controller - регулирует как часто заданный блок будет выполняться. Может работать в режиме percent execution и в режиме total executions. При percent execution программа вычисляет процент от всех проведенных итераций и определяет выполнять или нет этот блок в следующий раз. При total executions выполнение блока прекращается после достижения количества разрешенных раз.

8. Runtime Controller - определяет как долго его "детям" позволено играть :).

9. If Controller - позволяет контролировать запускать или нет элементы, находящиеся ниже, с помощью логического выражения. Выражение на javascript внутри поля Condition должно вернуть true или false. Например: ${COUNT} < 10 или ${JMeterThread.last_sample_ok}.
10. While Controller - выполняет внутренний блок пока значение поля Condition имеет значение false. Возможные значения поля Condition: blank (выходит из цикла когда последний семпл в цикле fail), LAST (выходит из цикла когда последний семпл в цикле fail, если последний семпл перед циклом fail, то не заходит в цикл), Otherwise (выполняет внутренний блок пока значение поля Condition имеет значение true) или функции (не только javascript).
11. Switch Controller - действует как Interleave Controller, только перед тем как выполнять дочерние элементы по порядку, контроллер выполнит элемент определенный параметром switch value. Значением этого параметра может быть число или строка. Нумеруются элементы с нуля. Если введена строка, то будет выполнен элемент имеющий такое же название.
12. ForEach Controller - выполняет дочерние блоки столько раз, сколько значений имеет related ("родственная") переменная, выбирая при этом для каждого цикла новое значение related переменной. При этом в Input variable prefix передается related переменная, а переменная в поле Output variable name получает текущее значение из related переменной. Output переменную и нужно использовать для параметризации внутри цикла.
13. Module Controller - предоставляет механизм по подставлению фрагмента тест плана в текущий тест план, во время выполнения текущего тест плана. Подставляемых фрагмент может находиться либо в Thread Group, либо WorkBench.
14. Include Controller - позволяет использовать внешние .jmx файлы. Для получения рабочего .jmx файла, необходимо например: в simple controller добавить какой-нибудь семпл и сохранить simple controller как .jmx файл.
15. Transaction Controller - используется для группы семплов, генерируя дополнительный семпл, который объединяет все вложенные семплы. Transaction Controller может работать в двух режимах: дополнительный семпл добавляется после вложенных семплов, дополнительный семпл добавляется как родитель ко всем вложенным семплам.
16. Recording Controller - это символ-заполнитель обозначающий, где прокси-сервер должен записывать семплы. Во время выполнения теста Recording Controller не влияет на тест подобно Simple Controllerу. Но во время записи скрипта прокси-сервер способом, все записанные семплы будут сохраняться под Recording Controllerом.

2 комментария:

  1. "8. Runtime Controller - определяет как долго его "детям" позволено играть :)."
    Креативно)

    ОтветитьУдалить