2017-03-26 5 views
0

アプリケーションのE2Eフローを自動化しようとしています。私はセレンのスクリプトを完了し、それは私の地元でうまくいきます。しかし、私がJenkinsで実行しようとしているとき、Jenkinsはプログラムをコンパイルした後に以下の例外を示します。あなたはそれを取り除くために私を助けることができますか? Gitのダウンロードが成功し、必要なファイルとフォルダ名がすべて正しいことがわかりました。java.lang.NullPointerException:JsonObjectsの名前/値のペアの値がnullになりません

java.io.IOException: The system cannot find the path specified 
    at java.io.WinNTFileSystem.createFileExclusively(Native Method) 
    at java.io.File.createNewFile(File.java:1012) 
    at com.homer.logger.HomerLogger.addFileHandler(HomerLogger.java:79) 
    at com.homer.logger.HomerLogger.getInstance(HomerLogger.java:45) 
    at com.homer.setup.NonBDDRunner.runTCOneIteration(NonBDDRunner.java:353) 
    at com.homer.setup.NonBDDRunner.runOneIteration(NonBDDRunner.java:157) 
    at com.homer.interfaceimpl.NonBDDRunTestCases.runTestCase(NonBDDRunTestCases.java:63) 
    at com.homer.setup.BaseRunner.executeTestCases(BaseRunner.java:122) 
    at com.homer.setup.BaseRunner.executeSeleniumTestCases(BaseRunner.java:59) 
    at com.homer.setup.BaseRunner.runTestCases(BaseRunner.java:41) 
    at com.homer.setup.RunManager.runTestCases(RunManager.java:121) 
    at com.homer.setup.RunManager.runTestCases(RunManager.java:36) 
    at com.homer.runner.HomerRunner.main(HomerRunner.java:38) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:294) 
    at java.lang.Thread.run(Thread.java:745) 

java.lang.NullPointerException: Value in JsonObjects name/value pair cannot be null 
    at org.glassfish.json.JsonObjectBuilderImpl.validateValue(JsonObjectBuilderImpl.java:164) 
    at org.glassfish.json.JsonObjectBuilderImpl.add(JsonObjectBuilderImpl.java:74) 
    at com.homer.reports.SummaryReport.getJsonTCObjectBuilder(SummaryReport.java:310) 
    at com.homer.reports.SummaryReport.generateJSONReport(SummaryReport.java:255) 
    at com.homer.reports.SummaryReport.generateFinalSummaryReport(SummaryReport.java:107) 
    at com.homer.setup.RunManager.runTestCases(RunManager.java:130) 
    at com.homer.setup.RunManager.runTestCases(RunManager.java:36) 
    at com.homer.runner.HomerRunner.main(HomerRunner.java:38) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at ``sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:294) 
    at java.lang.Thread.run(Thread.java:745) 

答えて

0

問題:

あなたJenkinsビルドはbuild.xmlの/のpom.xmlに構成された自動化されたテストケースを実行しようとしています。ダミーのJsonを使用していて、それを所望のpojoに解析している間、pojoフィールドのいくつかはJsonには見つからないものがあります。この例外は、この例外をトリガーしました。

修正:Json/Xmlで欠落している可能性のあるフィールドの上にあるpojoに@Nullable注釈を追加すると、この問題が解決されます。

+0

本当にありがとうございました。この質問にお答えいただきありがとうございます。しかし、私はこのコンセプトに慣れていないので、注釈(xmlのどの部分)を追加する必要があるか理解してもらえますか? –

関連する問題