Перейти к содержимому

Фотография

Вопросы по Soap UI


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 225 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 10 мая 2012 - 14:13

Добрый день, коллеги!

Подскажите, пожалуйста, как правильно составить TestSuite в SoapUI?

У меня есть отдельные реквесты, которые отрабатывают нормально при прогоне руками.

Решила объединить в тест-план.

Возникли проблемы:

1. Один из запросов возвращает ответ:

<retrieveStatusResponse xmlns="http://test">RUNNING...StatusResponse>

И преспокойненько выполняет следующие запросы.

Но мне надо выполнять остальные, только когда этот статус = FINISHED.
Я попробовала вставить туда ConditionalGoto, но не помогло :(

2. Вытекает из первого. Тест-кейс отрабатывает, говоря, что "все ок", все зелененькое.
Открываешь Response и видишь там <Exception>
Как поставить проверку - вернул <Exception> = тест не прошел?
  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#2 tab15

tab15

    Активный участник

  • Members
  • PipPip
  • 128 сообщений

Отправлено 11 мая 2012 - 14:24

Можно просто у responsа добавить assertion, который бы проверял наличие FINISHED, при запуске TestSuite и не выполнении assertiona тест будет красным или вообще остановится(в зависимости от настроек ТестСуита)
Аналогично второе. Добавить ассершэны нужно.

Если нужны более изощеренный варианты, то можно написать скрипт ассершн в котором конкретно говорить что делать, и что запускать в случае чего.
  • 0

#3 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 225 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 11 мая 2012 - 15:39

Да, спасибо, assertion я уже добавила, но...
Я также добавила ConditionalGoto, мы протестили правильность Xpath - посмотрели на правильном и неправильном значении ответ...

Но, когда я запускаю тест-кейс, он должен выполнить 2 шага и к 3 перейти только после выполнения ConditionalGoto. Ну, собственно, иначе снова выполнить второй запрос...

А он игнорирует это условие :( Переходит в третий пункт и валится с ошибкой (сервер то занят, статус не FINISHED)...
  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#4 tab15

tab15

    Активный участник

  • Members
  • PipPip
  • 128 сообщений

Отправлено 11 мая 2012 - 22:51

Странно... Не могли бы вы запостить условие, которое вставляете в ConditionalGoto?
  • 0

#5 Molechka

Molechka

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 225 сообщений
  • ФИО:Ольга Назина (Киселева)
  • Город:Москва


Отправлено 12 мая 2012 - 09:55

declare namespace ns1='http://...ru';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
//ns1:retrieveStatusResponse/text()='FINISHED'


Меняла "FINISHED" на "FINISHED1", условие не проходило. Так - проходит.
Но при запуске тест-кейса следующий за ним шаг падает... Открываю ответ предыдущего шага, а там - RUNNING :(
  • 0
Автор сайта для начинающих тестировщиков http://testbase.ru/
Автор портала проверки названий багов http://bugred.ru/
Веду блог http://okiseleva.blogspot.com/

#6 tab15

tab15

    Активный участник

  • Members
  • PipPip
  • 128 сообщений

Отправлено 14 мая 2012 - 09:17

попробуйте вместо Finished написать Running
declare namespace ns1='http://...ru';
declare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';
//ns1:retrieveStatusResponse/text()='RUNNING'

  • 0

#7 Bugogaga

Bugogaga

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Цыпленков Илья Владимирович

Отправлено 10 октября 2012 - 14:24

Здравствуйте,
Столкнулся со следующей задачей в SoapUI:
Есть метод CreateUser, который при успешном создании возвращает userid:

<Response xmlns="http://localhost:888...vc/CreateUser">
<ErrorMessage/>
<Success>true</Success>
<UserID>500</UserID>
</Response>

Есть другой метод FindUser, у которого один параметр UserID
Каким образом можно передать значение userid из ответа CreateUser в запрос FindUser?

Буду благодарен, если кто-нибудь приведет примеры с использованием groovy script или как это можно сделать через transfer property.
Пытался разобраться по мануалам на официальном сайте, не получилось :(
  • 0

#8 andR

andR

    Новый участник

  • Members
  • Pip
  • 5 сообщений
  • ФИО:andrei


Отправлено 20 ноября 2012 - 13:04

Здравствуйте,
Столкнулся со следующей задачей в SoapUI:
Есть метод CreateUser, который при успешном создании возвращает userid:

<Response xmlns="http://localhost:888...vc/CreateUser">
<ErrorMessage/>
<Success>true</Success>
<UserID>500</UserID>
</Response>

Есть другой метод FindUser, у которого один параметр UserID
Каким образом можно передать значение userid из ответа CreateUser в запрос FindUser?

Буду благодарен, если кто-нибудь приведет примеры с использованием groovy script или как это можно сделать через transfer property.
Пытался разобраться по мануалам на официальном сайте, не получилось :(

1) в Test case делаем проперти например с именем pUseID.
2) в Test Step Request с методом "CreateUser" создаете Script Assertion c кодом :


def RequestUtils = new com.eviware.soapui.support.GroovyUtils( context )
def requsetHolder = RequestUtils.getXmlHolder( messageExchange.responseContent )
requsetHolder.namespaces["ns"] = "http://localhost:888...svc/CreateUser"

for( item in requsetHolder.getNodeValues( "//ns:UserID" ))
{
context.testCase.setPropertyValue("pUserID", item)
}
метод setPropertyValue устанавливает для проперти pUserID значение из response
3) для Test Step Request с методом "FindUser" в воле запроса вместо значения надо написать ${#TestCase#pUserID}

вроде бы и все, это мой первый ответ, поэтому заранее прошу прощение за корявость :)
  • 1


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных