Re: NPE in verifyPdfText

Marc Guillemot <[email protected]>
Newsgroups gmane.comp.web.canoo.webtest
Message-ID <[email protected]>
this means that someone has to do the work to upgrade the PdfBox version 
used in WebTest, that's all.
You're welcome ;-)

Cheers,
Marc.
-- 
HtmlUnit support & consulting from the source
Blog: http://mguillem.wordpress.com


On 12/03/2010 03:22 PM, Lisa Crispin wrote:
> Does that mean there's no solution, we just can't have tests for this
> doc anymore? Waaah.
>
> On Fri, Dec 3, 2010 at 7:13 AM, Marc Guillemot <[email protected]
> <mailto:[email protected]>> wrote:
>
>     According to the details of the issue, the problem is fixed since
>     PdfBox 0.8... but WebTest is still using 0.7.3 :-(
>
>     Cheers,
>     Marc.
>     --
>     HtmlUnit support & consulting from the source
>     Blog: http://mguillem.wordpress.com
>
>
>
>     On 12/03/2010 12:03 AM, Lisa Crispin wrote:
>
>         Thanks! That's kind of an old post though. Acrobat 9 seems to
>         have been
>         out for quite awhile. You think that PDFBox still doesn't work
>         with it?
>         I wonder how to go back to an old version of Acrobat.
>         -- Lisa
>
>         2010/12/2 Dierk König <[email protected]
>         <mailto:[email protected]>
>         <mailto:[email protected] <mailto:[email protected]>>>
>
>
>             Hi Lisa,
>
>             always good to hear from you ;-)
>
>             The issue appears to be connected to the Acrobat version that
>             created the PDF, see
>         http://markmail.org/message/64ls3daphdh3pxzo
>
>             cheers
>             Dierk
>
>             Am 02.12.2010 um 22:09 schrieb Lisa Crispin:
>
>                 We got a new version of a pdf that we've had for years
>             and years,
>                 a page was added to it is all. Now all our tests  that
>             verify this
>                 document are failing with an NPE. The traceback is
>             below. There
>                 must be something wrong with the PDF, but we can't see
>             it. Anyone
>                 have any suggestions how we can debug this? I can see
>             the PDF and
>                 the actual page in question in the test result output,
>             and it has
>                 the right text on it and everything.
>
>                 The step that's failing is:
>             <pdfVerifyText description="verify first page content"
>                     startPage="1"
>                     endPage="1"
>                     text="SUMMARY PLAN DESCRIPTION"/>
>
>                 Here is the traceback:
>
>               /var/hudson/workspace/WebTest-NonTradeTests-Build/trunk/src/web_test/modules/verifySPD40.xml:8:
>                 Unexpected exception caught: java.lang.NullPointerException
>                     at
>
>               com.canoo.webtest.steps.StepUtil.handleException(StepUtil.java:120)
>                     at
>             com.canoo.webtest.steps.Step.handleException(Step.java:387)
>                     at com.canoo.webtest.steps.Step.execute(Step.java:118)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at
>
>               com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.java:43)
>                     at
>
>               com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:31)
>                     at com.canoo.webtest.steps.Step.execute(Step.java:103)
>                     at
>             sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>                     at
>
>               sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at
>
>               com.canoo.webtest.ant.WebtestTask.executeSteps(WebtestTask.java:236)
>                     at
>             com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:208)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at org.apache.tools.ant.Target.execute(Target.java:357)
>                     at
>             org.apache.tools.ant.Target.performTasks(Target.java:385)
>                     at
>
>               org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>                     at
>
>               org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
>                     at
>             org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>                     at
>             org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at org.apache.tools.ant.Target.execute(Target.java:357)
>                     at
>             org.apache.tools.ant.Target.performTasks(Target.java:385)
>                     at
>
>               org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>                     at
>
>               org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
>                     at
>             org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>                     at
>             org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at org.apache.tools.ant.Target.execute(Target.java:357)
>                     at
>             org.apache.tools.ant.Target.performTasks(Target.java:385)
>                     at
>
>               org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>                     at
>
>               org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
>                     at
>             org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>                     at
>             org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>                     at
>
>               org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at org.apache.tools.ant.Target.execute(Target.java:357)
>                     at
>             org.apache.tools.ant.Target.performTasks(Target.java:385)
>                     at
>
>               org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>                     at
>             org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>                     at
>
>               org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>                     at
>             org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>                     at org.apache.tools.ant.Main.runBuild(Main.java:698)
>                     at org.apache.tools.ant.Main.startAnt(Main.java:199)
>                     at
>             org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>                     at
>             org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>                 Caused by: java.lang.NullPointerException
>                     at
>             org.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:194)
>                     at
>             org.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:182)
>                     at
>
>               org.pdfbox.pdmodel.PDDocumentCatalog.getAllPages(PDDocumentCatalog.java:226)
>                     at
>
>               org.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:216)
>                     at
>
>               org.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:149)
>                     at
>
>               com.canoo.webtest.plugins.pdftest.htmlunit.pdfbox.PdfBoxPDFPage.getTextInternal(PdfBoxPDFPage.java:204)
>                     at
>
>               com.canoo.webtest.plugins.pdftest.htmlunit.pdfbox.PdfBoxPDFPage.getText(PdfBoxPDFPage.java:196)
>                     at
>
>               com.canoo.webtest.plugins.pdftest.PdfVerifyTextStep.verifyPdf(PdfVerifyTextStep.java:87)
>                     at
>
>               com.canoo.webtest.plugins.pdftest.AbstractVerifyPdfStep.doExecute(AbstractVerifyPdfStep.java:22)
>                     at com.canoo.webtest.steps.Step.execute(Step.java:103)
>                     ... 70 more
>                 --- Nested Exception ---
>                 java.lang.NullPointerException
>                     at
>             org.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:194)
>                     at
>             org.pdfbox.pdmodel.PDPageNode.getAllKids(PDPageNode.java:182)
>                     at
>
>               org.pdfbox.pdmodel.PDDocumentCatalog.getAllPages(PDDocumentCatalog.java:226)
>                     at
>
>               org.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:216)
>                     at
>
>               org.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:149)
>                     at
>
>               com.canoo.webtest.plugins.pdftest.htmlunit.pdfbox.PdfBoxPDFPage.getTextInternal(PdfBoxPDFPage.java:204)
>                     at
>
>               com.canoo.webtest.plugins.pdftest.htmlunit.pdfbox.PdfBoxPDFPage.getText(PdfBoxPDFPage.java:196)
>                     at
>
>               com.canoo.webtest.plugins.pdftest.PdfVerifyTextStep.verifyPdf(PdfVerifyTextStep.java:87)
>                     at
>
>               com.canoo.webtest.plugins.pdftest.AbstractVerifyPdfStep.doExecute(AbstractVerifyPdfStep.java:22)
>                     at com.canoo.webtest.steps.Step.execute(Step.java:103)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at
>
>               com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.java:43)
>                     at
>
>               com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:31)
>                     at com.canoo.webtest.steps.Step.execute(Step.java:103)
>                     at
>             sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>                     at
>
>               sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at
>
>               com.canoo.webtest.ant.WebtestTask.executeSteps(WebtestTask.java:236)
>                     at
>             com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:208)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at org.apache.tools.ant.Target.execute(Target.java:357)
>                     at
>             org.apache.tools.ant.Target.performTasks(Target.java:385)
>                     at
>
>               org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>                     at
>
>               org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
>                     at
>             org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>                     at
>             org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at org.apache.tools.ant.Target.execute(Target.java:357)
>                     at
>             org.apache.tools.ant.Target.performTasks(Target.java:385)
>                     at
>
>               org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>                     at
>
>               org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
>                     at
>             org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>                     at
>             org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at org.apache.tools.ant.Target.execute(Target.java:357)
>                     at
>             org.apache.tools.ant.Target.performTasks(Target.java:385)
>                     at
>
>               org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>                     at
>
>               org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
>                     at
>             org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>                     at
>             org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>                     at
>
>               org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
>                     at
>
>               org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>                     at
>             sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>                     at
>
>               sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>                     at java.lang.reflect.Method.invoke(Method.java:597)
>                     at
>
>               org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>                     at org.apache.tools.ant.Task.perform(Task.java:348)
>                     at org.apache.tools.ant.Target.execute(Target.java:357)
>                     at
>             org.apache.tools.ant.Target.performTasks(Target.java:385)
>                     at
>
>               org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>                     at
>             org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>                     at
>
>               org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>                     at
>             org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>                     at org.apache.tools.ant.Main.runBuild(Main.java:698)
>                     at org.apache.tools.ant.Main.startAnt(Main.java:199)
>                     at
>             org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>                     at
>             org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
>
>                 --
>                 Lisa Crispin
>                 Co-author with Janet Gregory, _Agile Testing: A
>             Practical Guide
>                 for Testers and Agile Teams_ (Addison-Wesley 2009)
>                 Contributor to _Beautiful Testing_ (O'Reilly 2009)
>             http://lisacrispin.com <http://lisacrispin.com/>
>                 @lisacrispin on Twitter
>
>
>
>
>
>         --
>         Lisa Crispin
>         Co-author with Janet Gregory, _Agile Testing: A Practical Guide for
>         Testers and Agile Teams_ (Addison-Wesley 2009)
>         Contributor to _Beautiful Testing_ (O'Reilly 2009)
>         http://lisacrispin.com
>         @lisacrispin on Twitter
>
>
>
>     _______________________________________________
>     WebTest mailing list
>     [email protected] <mailto:[email protected]>
>     http://lists.canoo.com/mailman/listinfo/webtest
>
>
>
>
> --
> Lisa Crispin
> Co-author with Janet Gregory, _Agile Testing: A Practical Guide for
> Testers and Agile Teams_ (Addison-Wesley 2009)
> Contributor to _Beautiful Testing_ (O'Reilly 2009)
> http://lisacrispin.com
> @lisacrispin on Twitter
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.