Как? SOAPUI и Groovy - каждый раз отправлять разные сообщения SOAP (со свойством из файла)?

Я пытаюсь использовать 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 должен знать, какая строка в текстовом файле является следующей строкой, из которой строятся свойства?

Я надеюсь, что это объяснение того, что я ищу, достаточно ясно. Если нет, пожалуйста, дайте мне знать, и я надеюсь, что кто-то может помочь.


person user555303    schedule 12.07.2011    source источник
comment
У вас сейчас есть какой-нибудь код? Я знаю заводной, но не мыльный :-/   -  person tim_yates    schedule 13.07.2011


Ответы (1)


В soapUI Pro существуют так называемые DataSource и DataSource Loop шаги тестирования. Они используются для циклического прохождения набора тестовых данных. Например текстовый файл. Если у вас есть возможность использовать soapUI Pro, я рекомендую вам взглянуть на это: http://soapui.org/Data-Driven-Testing/functional-tests.html

В противном случае вам придется загрузить файл через groovy.

как пройти через файл в коде Groovy

Я уверен, что вы найдете некоторые фрагменты кода через Google.

как код Groovy должен знать, какая строка в текстовом файле является следующей строкой, из которой строятся свойства

Создайте свойство тестового примера с начальным значением 1. Всегда после прочтения строки увеличивайте значение на 1. Читая это свойство в своем заводном коде, вы всегда знаете, какую строку читать.

person Sebi    schedule 13.07.2011
comment
sebi - я забыл упомянуть (я действительно хотел, но забыл), что мы пытаемся сделать это с не-Pro SOAPUI, поэтому у нас нет возможности шага источника данных. - person user555303; 13.07.2011
comment
У меня есть некоторый код Groovy, с которым у меня возникла проблема, но я не знаю, как опубликовать его здесь, в этом вопросе, поэтому я собираюсь опубликовать новый вопрос только о Groovy - извините. - person user555303; 13.07.2011