2015-06-23 2 views
1

Я использую базовую версию Soap UI для некоторых насмешек. Мне нужно сохранить мои запросы к некоторому файлу. Я просто сгенерировал фиктивные услуги с некоторым предопределенным вводом для вывода правил, и я искал в сети и нашел это:Сохранить SOAP UI mock запросы к файлу

def logArea = com.eviware.soapui.SoapUI.logMonitor.getLogArea("http log"); 
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) 

Date startTime = new Date(); 
def cur_Time = startTime.getMonth() + "_" + startTime.getDate() 
cur_Time = cur_Time + "_" + startTime.getHours() + "_" + startTime.getMinutes() +startTime.getSeconds() 

def testPath = "C:/Users/..." + cur_Time + ".log" 
def logFile = new File(testPath) 

logFile.write("soapUI Logs In a file.\r\n") 
    if(logArea !=null) 
    { 
     def model = logArea.model 
     if(model.size > 0)    
     for(c in 0..(model.size-1))   
      logFile.append("\n" + model.getElementAt(c))   
    } 

logArea.clear() 

и это отлично работает только с Soap UI GUI запросом вызова. Как я могу сохранить мои запросы, даже если я позвоню в этот макет службы из внешних служб?

У меня нет тестовых примеров, и вам не нужно сохранять запросы от них, только прямые запросы от внешней системы.

Спасибо!

ответ

1

Если вы хотите сохранить в файле все запросы, которые получите ваш Mock service, просто выполните следующие действия. В вашем макете службы откройте вкладку onRequest script, как и в последующих изображениях (этот сценарий выполняется каждый раз, когда ваша служба получает запрос):

enter image description here

И добавить следовать заводному скрипт на этой вкладке.

def myRequestPath = 'C:/temp/request_' + System.currentTimeMillis() + ".log" 
def logFile = new File(myRequestPath) 
logFile.append(mockRequest.getRequestContent()) 

В onRequest script контексте вы доступные mockRequest объекта (из com.eviware.soapui.impl.wsdl.mock.WsdlMockRequest type) и от этого объекта вы можете получить содержимый запрос с использованием методы getRequestContent(), а затем этот скрипт сохранить этот объект в файл.

Этот скрипт проще, чем ваш, потому что он принимает непосредственно ответ от объекта вместо того, чтобы получить ответ от вкладок журнала SoapUI ...

Надеется, что это помогает,

+0

Благодаря человек, эта работа отлично сейчас! Я никогда не пробовал сценарий onRequest, и это даже лучше, чем я хотел. С наилучшими пожеланиями! – MiniHamza

+0

@MiniHamza приятно помочь вам ':)'. – albciff

Смежные вопросы