В тестовом шаге сценария soapui я это сделал.Ошибка нулевого объекта при вызове кода из сценария assertion - soapui (создание теста Runner в утверждении скрипта)
context.setProperty("searchA", new searchA());
class searchA{
def testRunner
def searchA(testRunner){
this.testRunner=testRunner
}
def search(a,b){
def search_TestCase = testRunner.testCase.testSuite.getTestCaseByName("Search")
search_TestCase.setPropertyValue("ABC", a)
search_TestCase.setPropertyValue("DEF", b)
search_TestCase.run(new com.eviware.soapui.support.types.StringToObjectMap(), false)
}
}
и в сценарии утверждения в другом тестовом наборе я вызываю вышеуказанный код следующим образом.
scripts = messageExchange.modelItem.testStep.testCase.testSuite.project.testSuites["Test"]
scripts.testCases["Lib123"].testSteps["TestLib123"].run(context.getTestRunner(),context)
context.searchA.search("value1","value2")
, но это дает мне ошибку "can not get property testCase on null object".
, Что здесь не так?
'messageExchange.modelItem.testStep' is null –
@tim_yates Его значение не равно нулю. При предоставлении оператора 'log.info' я получаю' com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep @ 6078498' – user1207289
Прочтите этот https://stackoverflow.com/help/mcve, чтобы узнать, что * * все ** мы должны быть в состоянии помочь вам. – SiKing