2013-04-30 3 views
2

Я выполняю серию загрузок файлов и загрузок через определенный WSDL интерфейс в SoapUI (не Pro). Встроенных утверждений для проверки этих вложений недостаточно. Я нашел код Groovy, который позволяет мне получить размер загружаемого вложения.Как получить размер приложения ответа в SoapUI?

import com.eviware.soapui.impl.wsdl.support.RequestFileAttachment 

def uploadsize = testRunner.testCase.getTestStepByName("Upload File (200KB)").testRequest.getAttachmentAt(0).getSize() 

Я ищу сопоставимый код, чтобы получить размер загружаемого приложения. В заголовках HTTP указывается, что тип контента «multipart/related» и UTF-8. Само приложение является «Content-Type: application/octet-stream \ n Content-Transfer-Encoding: binary»

Я пробовал следующий фрагмент кода, но он не дает мне размер вложения, просто размер ответа.

def downloadsize = testRunner.testCase.getTestStepByName("Download File (200KB) (Logged)").testRequest.response.contentAsString.size() 

ответ

4

Поскольку документация для классов SoapUI Groovy является лабиринтной в лучшем случае, я использовал самоанализ, чтобы выяснить, какой класс я работал с:

log.info testRunner.testCase.getTestStepByName("Download File (200KB) (Logged)").testRequest.class.name 
log.info testRunner.testCase.getTestStepByName("Download File (200KB) (Logged)").testRequest.response.class.name 

, который дает:

com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequest 
com.eviware.soapui.impl.wsdl.submit.transports.http.support.attachments.WsdlMimeMessageResponse 

Теперь не нужно угадывать, какой класс искать.

Полученный код размер вложения:

def downloadsize = testRunner.testCase.getTestStepByName("Download File (200KB) (Logged)").testRequest.response.getAttachments()[0].getSize() 
+1

Если вы просто хотите, текущий шаг теста, вы можете не указывать имя степ-тест и использовать 'Def downloadsize = context.testCase.getTestStepAt (контекст. getCurrentStepIndex()). testRequest.response.getAttachments() [0] .getSize() 'вместо этого. Таким образом, ваш сценарий является более универсальным и надежным, когда дело доходит до рефакторинга. – schnatterer

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