Я пытаюсь использовать SOAPUI (4.0) для проведения нагрузочного тестирования, и я хочу, чтобы каждый запрос SOAP был другим, с некоторыми значениями атрибутов и значениями элементов в запросах, заполняемых (например) из текстового файла.
Сообщение SOAP будет одинаковым для каждого запроса, за исключением нескольких значений атрибутов и значений элементов.
Сообщение SOAP включает неподписанное утверждение SAML, которое имеет некоторые атрибуты, которые могут быть разными для каждого запроса SOAP. Среди этих атрибутов есть один под названием «IssueInstant», который в основном представляет собой строку даты/времени, и атрибут «Id», который является уникальной строкой для каждого запроса.
В идеале я хотел бы иметь возможность заполнить это значение атрибута «Id» из текстового файла.
Я смог автоматически заполнить IssueInstant в SOAPUI, включив небольшой фрагмент кода Groovy, чтобы получить текущую дату/время, переформатировать его, а затем сохранить в свойстве. Этот код Groovy находится в сценарии запуска в тестовом примере SOAPUI.
В теле сообщения SOAP у меня есть элемент Subject, который я хочу заполнить из текстового файла.
После заполнения IssueInstant, Id и Subject я хочу, чтобы SOAPUI отправил запрос.
Так, например, скажем, что текстовый файл имеет:
id0001,cn=foo1,dc=whatever,dc=com
id0002,cn=foo2,dc=whatever,dc=com
id0003,cn=foo3,dc=whatever,dc=com
Затем, когда я запускаю нагрузочный тест SOAPUI, я хочу, чтобы в первом запросе были Id=id0001
и тема cn=foo1,dc=whatever,dc=com
, во втором запросе были Id=id0002
и тема cn=foo2,dc=whatever,dc=com
, а в третьем запросе были Id=id0003
и тема cn=foo3,dc=whatever,dc=com
, а затем нагрузочный тест циклически повторяет эти 3 набора значений, пока не закончится.
Мне трудно понять, как пройти через файл в коде Groovy и как код Groovy должен знать, какая строка в текстовом файле является следующей строкой, из которой строятся свойства?
Я надеюсь, что это объяснение того, что я ищу, достаточно ясно. Если нет, пожалуйста, дайте мне знать, и я надеюсь, что кто-то может помочь.