2017-12-20 13 views
0

SoapUIでGroovyを使用してGroovy Script TestStepからTestCaseを実行しようとしています。Groovyスクリプト内でtestcaseを実行したときにnullPointerExceptionが表示される

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context); 
def testCase = testRunner.testCase; 
def testStep = testCase.testSteps["CreateMeeting"]; 
testRunner = new com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner(testCase, null); 
testStepContext = new com.eviware.soapui.impl.wsdl.testcase.WsdlTestRunContext(testStep); 
testStep.run(testRunner, testStepContext); 

エラーが表示さ:

java.lang.NullPointerException 

エラーが行で発生しました:

testStepContext = new com.eviware.soapui.impl.wsdl.testcase.WsdlTestRunContext(testStep); 

プロジェクト構造:

enter image description here

+0

だけで、エラーメッセージで理由を理解するのは難しいが。完全なスタックトレースを提供するほうが良い。私はこの時点で 'testStep'がnullであると思います。実際の問題を識別するためのスタックトレースが可能です。 – daggett

+0

両者は同じテストスイートに入っていますか?あなたのユースケースは何ですか?なぜ他のテストケースからテストケースを実行したいのですか?最良のルールは、各テストケースが独立していることです。あなたは、スクリーンショットの助けを借りて、テストケース/ステップがどのように配置され/構造化されているかを示すことができますか? – Rao

+0

はい、彼らは同じスイートです。 Actully私は実行時に変数を生成し、プロジェクトレベルのプロパティに格納するためにGroovy Scriptテストステップを使用しています。次に、最後にテストケースを呼び出します。プロジェクト構造のスクリーンショットの添付。 – rAJ

答えて

2

あなた私をGroovyのテストステップでは、logcontext、およびtestRunnerのような事前宣言された変数があるので、独自に宣言する必要はありません。

これが私の仕事:

//def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context); 
def testCase = testRunner.testCase.testSuite.project.getTestSuiteByName("AddBooking").getTestCaseByName("CreateMeeting") 
//def testStep = testCase.testSteps["CreateMeeting"] 
//testRunner = new com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner(testCase, null); 
//testStepContext = new com.eviware.soapui.impl.wsdl.testcase.WsdlTestRunContext(testStep); 
def properties = new com.eviware.soapui.support.types.StringToObjectMap() 
testCase.run(properties, false) 
+0

テストステップを実行しています。 OPがテストケースを実行しようとしているところ。 – Rao

+0

これを使用すると、次のエラーが表示されます。java.lang.NullPointerException:ヌルオブジェクトでメソッドrun()を呼び出せません。 – rAJ

+0

スクリーンショットでは物事がより明確になります。コードは上記で編集されました。 – craigcaulfield

関連する問題