[Webtest] pdftests using invoke

etienne studer webtest@lists.canoo.com
Thu, 20 May 2004 09:39:54 +0200


Hi Lisa

> > Hi Lisa
> >
> > See the selftest
> >   WEBTEST_ROOT\selftests\tests\pdf-previousresponse.xml
> > which is pretty much your use case. Right?
>
> I've downloaded everything downloadable from the Canoo WebTest
> site, but I don't find this
> file or even a selftests directory.  I'd like to have it - where
> can I get it?

You have to check out 'webtest' from CVS in order to find the mentioned
file. See http://webtest.canoo.com/webtest/manual/WebTestHome.html

Best regrads, Etienne

>
> >
> > When webtest stores a response in a file, it gives the file an extension
> > which is based on the response mime type.
> >
> > See
> >   com.canoo.webtest.engine.MimeMap
> > for mime type details.
> >
> > Do you set the response mime type to "application/pdf" in the
> response which
> > contains the PDF document? If so, then webtest will store the
> response in a
> > file with a name that ends with .pdf - which is what you want.
>
> The file does get stored, but only if I access it via invoke.  If
> I try with clicklink it
> blows up as I detailed in my previous postings.
>
> >
> > Can you find the generated PDF file with a .pdf extension in
> your specified
> > resultpath? Otherwise, the next webtest step in which you check the PDF
> > document title will throw the exception you posted in your
> previous mail.
>
> Yes, I do find the generated PDF file in the result path after
> running the test.
>   But only if I use invoke.  Is there any way for me to
> get WebTest to bring up a generated PDF file by clicking on the
> link that generates it?
>
> The main thing is, I want to verify that the link really
> generates the PDF file.  Since this
> did work once, I feel like maybe it's a bug that it doesn't work
> now, or maybe it's just
> a permanent change and I should test this particular thing a
> different way?
>
> Thank you!
> -- Lisa
>
>
> >
> >
> > -----Original Message-----
> > From: webtest-admin@lists.canoo.com
> > [mailto:webtest-admin@lists.canoo.com]On Behalf Of lisa.crispin@att.net
> > Sent: Donnerstag, 8. April 2004 18:26
> > To: etienne studer
> > Cc: webtest@lists.canoo.com
> > Subject: RE: [Webtest] pdftests using invoke
> >
> >
> > Hi Etienne,
> > The link dynamically creates a PDF file which is brought up in Acrobat
> > reader.  It doesn't get a .pdf extension unless the user saves
> it.  I would
> > assume this is not an uncommon way to display PDF files on a
> website?  Is
> > there no way for Canoo to test this?  It did used to work,
> before the PDF
> > support was added to Canoo, I'm not clear on why it blows up now if I
> > clicklink on a link that generates a PDF file.
> > Thanks,
> > Lisa
> >
> >
> > > Hi Lisa
> > >
> > > Have a look at your stacktrace below:
> > > Exception raised:
> com.canoo.webtest.engine.StepExecutionException: File
> > does
> > > not have extension '.pdf''
> > >
> > > Obviously, the document returned is not a pdf document. Or at least it
> > does
> > > not have the .pdf extension.
> > > I hope this helps for further debugging.
> > >
> > > Best regards, Etienne
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: lisa.crispin@att.net [mailto:lisa.crispin@att.net]
> > > Sent: Donnerstag, 8. April 2004 02:31
> > > To: webtest@lists.canoo.com
> > > Cc: etienne studer; Webtest
> > > Subject: Re: [Webtest] pdftests using invoke
> > >
> > >
> > > Hi Etienne,
> > > I had originally had my scripts as you say, using clicklink
> to click on
> > the
> > > link to the PDF file.  At that time, there was no pdf support
> in WebTest
> > so
> > > all I could do was <previousresponse> and go back.  It was
> useful in that
> > it
> > > would fail if the PDF file was missing.
> > >
> > > After installing a build that had the PDF support, the
> clicklinks on the
> > > links to PDF files stopped working.  I noticed all the examples in the
> > > "Available Extension Steps" doc have invoke rather than
> clicklink, so I
> > used
> > > invoke, but wasn't happy that I couldn't use clicklink.  Just
> now I tried
> > > clicklink as you suggested, with the latest build (432).  I
> still get an
> > > error trying to use clicklink. I do have an invoke at the start of the
> > test,
> > > then there are man Here's my test:
> > >
> > > 	<invoke stepid="go to step 4"
> > >                	url="control.jsp?site=erStart&amp;page=step4"/>
> > > 	<clicklink stepid="Click program agreement"
> > > 		label="Program Agreement"/>
> > >
> > > Here's the relevant HTML:
> > >
> > > <li class="body"><a class="bodyLink" target="_blank"
> > > href="/pdfsend?type=4103&ts=46297">Program Agreement</a></li>
> > >
> > > Here is the error:
> > >
> > > BUILD FAILED
> > > file:c:/canoo/SmokeTest/PlanEstTourTest.xml:21: Test failed.
> > > Exception raised:
> com.canoo.webtest.engine.StepExecutionException: File
> > does
> > > not
> > >  have extension '.pdf''), Step: VerifyPdfDocumentTitleStep at
> > > file:../modules/pl
> > > anDocs.xml:10:  with (title="Program Agreement",
> stepId="verify program
> > > agreemen
> > > t",
> > >
> stepType="verifyPdfTitle")com.canoo.webtest.engine.StepExecutionException:
> > F
> > > ile does not have extension '.pdf''), Step:
> VerifyPdfDocumentTitleStep at
> > > file:.
> > > ./modules/planDocs.xml:10:  with (title="Program Agreement",
> > stepId="verify
> > > prog
> > > ram agreement", stepType="verifyPdfTitle")
> > >         at
> > > com.canoo.webtest.steps.pdftest.AbstractVerifyPdfStep.verifyLastRespo
> > > nseFileNameAvailable(AbstractVerifyPdfStep.java:89)
> > >         at
> > > com.canoo.webtest.steps.pdftest.AbstractVerifyPdfStep.doExecute(Abstr
> > > actVerifyPdfStep.java:73)
> > >         at com.canoo.webtest.steps.Step.execute(Step.java:99)
> > >         at
> com.canoo.webtest.engine.Engine.executeSteps(Engine.java:26)
> > >         at
> > > com.canoo.webtest.ant.TestSpecificationTask.execute(TestSpecification
> > > Task.java:68)
> > >         at org.apache.tools.ant.Task.perform(Task.java:341)
> > >         at org.apache.tools.ant.Target.execute(Target.java:309)
> > >         at org.apache.tools.ant.Target.performTasks(Target.java:336)
> > >         at
> org.apache.tools.ant.Project.executeTarget(Project.java:1339)
> > >         at
> org.apache.tools.ant.Project.executeTargets(Project.java:1255)
> > >         at org.apache.tools.ant.Main.runBuild(Main.java:609)
> > >         at org.apache.tools.ant.Main.start(Main.java:196)
> > >         at org.apache.tools.ant.Main.main(Main.java:235)
> > >
> > > It works if I do this instead, but then, I am only able to check the
> > > contents of the PDF file, I'm not able to know for sure that
> clicking on
> > > this link gets me the correct PDF file.  I'm not sure why
> this worked in a
> > > build of WebTest that predated the PDF support, but doesn't work now.
> > >
> > > 	<invoke stepid="get program agreement document"
> > >                	url="pdfsend?type=4103"/>
> > >
> > > What may I do in my test to be able to see that clicking on a
> particular
> > > link that should bring up a PDF file, actually does?
> > > thank you very much,
> > > Lisa
> > >
> > >
> > >
> > > > Hi Lisa
> > > >
> > > > Testing PDF documents works with invoke as well as with clicklink.
> > > > See example below using clicklink.
> > > >
> > > > Best regards, Etienne
> > > >
> > > >
> > > > <invoke
> > > >   stepid="Go to overview page"
> > > >   url="index.html"/>
> > > > <clicklink
> > > >   label="PDF Doku A"/>
> > > > <verifyPdfTitle
> > > >   title="TestDokuA"/>
> > > > <previousresponse stepid="Go back to overview page"/>
> > > > <clicklink
> > > >   label="PDF Doku B"/>
> > > > <decryptPdfDocument
> > > >   password="mymaster"/>
> > > > <verifyPdfTitle
> > > >   title="TestDokuB"/>
> > > >
> > > >
> > > >
> > > > Hello,
> > > > The new PDF support is really swell!  We're making good use of it.
> > Thank
> > > > you for providing this immensely useful functionality!
> > > >
> > > > I have a question which I hope isn't too dumb.  Before the
> PDF support
> > was
> > > > introduced, I just did a clicklink on the link to get the PDF, I
> > couldn't
> > > > check it so I just used previousresponse to go back, but I
> could see the
> > > PDF
> > > > documents in the result folder.
> > > >
> > > > So I was doing something like this:
> > > > 	 <clicklink stepid="Click adoption agreement"
> > > > 		label="Plan Adoption Agreement"/>
> > > >
> > > > Now, I use the invoke to get the PDF doc via the URL, which
> works fine.
> > > The
> > > > clicklink doesn't appear to bring up the correct PDF
> anymore.  If I have
> > > one
> > > > invoke in my test, the clicklink will just keep bringing up
> the same PDF
> > > > file as invoked via the URL, no matter what link it's
> clicking on.  If I
> > > > don't have any invoke for the PDF URL, I don't get errors
> but it doesn't
> > > > save the PDF docs at all, so I imagine it isn't even
> bringing them up.
> > In
> > > > fact, my server sends me the same sort of errors I would get if I
> > clicked
> > > a
> > > > link in a real session and then hit the stop button on the PDF popup
> > > without
> > > > letting it finish rendering.
> > > >
> > > > So the dumb part of this question is, by invoking the PDF
> via the URL,
> > how
> > > > can I be sure that when a user clicks on the link on the
> page to get to
> > > the
> > > > URL, they will get the correct PDF document?  Is there any way to do
> > this
> > > > via the clicklink instead of the invoke?
> > > >
> > > > Many thanks,
> > > > Lisa
> > > >
> > > > _______________________________________________
> > > > WebTest mailing list
> > > > WebTest@lists.canoo.com
> > > > http://lists.canoo.com/mailman/listinfo/webtest
> > >
> > _______________________________________________
> > WebTest mailing list
> > WebTest@lists.canoo.com
> > http://lists.canoo.com/mailman/listinfo/webtest
> >
> > _______________________________________________
> > WebTest mailing list
> > WebTest@lists.canoo.com
> > http://lists.canoo.com/mailman/listinfo/webtest
> _______________________________________________
> WebTest mailing list
> WebTest@lists.canoo.com
> http://lists.canoo.com/mailman/listinfo/webtest
>