Robot Framework + SoapUI


(kom) #1

Нужно отправлять запросы в xml формате на сервер и получать ответы, как это можно сделать в robot framework?
Нашел такую библиотеку
https://github.com/pavlobaron/robotframework-soapuilibrary

Но не понял как ее установить и подключить - нет setup.py как обычно для других библиотек.
Если закидываю SoapUILibrary.py в C:\robottemp\Python\Lib\site-packages\ и прописываю в
Suite Setup
Library SoapUILibrary.py

то SoapUILibrary.py подсвечивается красным, кейворды недоступны


(Dmitriy Zverev) #2

Данная библиотека именно для http://www.soapui.org/. Вы его используете?
Посмотрите пример запуска через jybot

Если у вас именно SOAP web service, то есть suds
https://github.com/ombre42/robotframework-sudslibrary#readme

Если у вас обычное rest api с xml, то можете взять связку requests и xml:
http://github.com/bulkan/robotframework-requests
https://code.google.com/p/robotframework/wiki/XMLLibrary


(kom) #3

Спасибо.
У меня soapui-pro-4.6.0, в нем формируем, отправляем xml запросы и смотрим ответы, и сравниваем результаты с выборками из БД, хотелось это все автоматизировать.
Так что как я понимаю подойдет sudslibrary


(kom) #4

sudslibrary работает,
Create Soap Client http://myhost:port/MyService?WSDL
Проходит успешно.
Но как мне отправить запрос в xml формате подскажите плз.


(Dmitriy Zverev) #5

Существует пример теста
http://ombre42.github.io/robotframework-sudslibrary/doc/SudsLibrary.html

Example Test

The following simple example demonstrates verifying the return value using keywords in this library and in the BuiltIn and Collections libraries. You can run this test because it uses a public web service.

Create Soap Client http://www.webservicex.net/Statistics.asmx?WSDL
${dbl array}= Create Wsdl Object ArrayOfDouble
Append To List ${dbl array.double} 2.0
Append To List ${dbl array.double} 3.0
${result}= Call Soap Method GetStatistics ${dbl array}
Should Be Equal As Numbers ${result.Average} 2.5

Самому с этой библиотекой работать не приходилось.


(kom) #6

Решение оказалось более простым: обновить sudslibrary до 8й версии, где есть кейворд Create Raw Soap Message:
${message}= Create Raw Soap Message
Set Return Xml True
${fault} Call Soap Method Expecting Fault RequestedData ${message}