Вот пример с полным сценарием. Здесь объект журнала является переменной-членом и инициализируется с помощью конструктора с картой. Обратите внимание, что здесь класс также присутствует в самом скрипте. Если это многоразовое, нужно скопировать мимо него в любом сценарии
class TestLogging {
def log
def sayHello(def name){
log.info "Hello $name"
}
}
def testLogging = new TestLogging(log:log)
testLogging.sayHello('Mr. ABC')
Обычно, когда я пишу некоторые заводные библиотеку классов, я использую следующий способ определения класса, создание библиотеки и доступ к SoapUI предоставляется переменным, а также , и как звонить из сценария. Это покажет повторного использования из class- определяют один раз, повторно использовать каждый, где:
TestRunnerHelper.groovy - скомпилировать & создать .jar файл и поместите его в/бен/доб каталог SOAPUI_HOME
class TestRunnerHelper {
def context
def testRunner
def log
def printTestDetails() {
log.info 'Name of the test case is :'+testRunner.testCase.name
log.info 'Name of the test suite is : '+testRunner.testCase.testSuite.name
}
}
Теперь написать скрипт в любом из вашего project-> testsuite-> теста к регистру> шаг теста Groovy сценарий с помощью указанного класса
def testHelper = new TestRunnerHelper(context:context, log:log, testRunner:testRunner)
testHelper.printTestDetails()
Примечания: если у вас есть какое-то название пакета в заводной классе, то я t также должен быть импортирован в скрипт.
Что я хотел бы рассказать по второму примеру, так это то, что вы можете писать классы библиотек в своей любимой среде IDE (я написал groovy, но вы также можете использовать java) и использовать переменные context, log, testRunner, предоставленные soapui by передавая их вашим классам.
Мне нужно, чтобы выяснить, как использовать log.info внутри функции. –
Требование - мне нужно использовать log.info внутри функции. Как и в функции hello() в этом случае. –