2010-12-13 40 views
0

Nous générons un document pdf via un appel à un service Web qui renvoie le chemin d'accès au document généré. Nous utilisons une balise HTML embed pour afficher la ligne de pdf, à savoirVérification du contenu d'un tag d'intégration à l'aide de Selenium

<div id="ctl00_ContentPlaceHolder2_ctl01_embedArea"> 
     <embed wmode="transparent" src="http://www.company.com/vdir/folder/Pdfs/file.pdf" width="710" height="400"/> 

Je voudrais utiliser le sélénium pour vérifier que le pdf est réellement affiché et si possible enregistrer le chemin, à savoir le lien src en variable.

Quelqu'un sait-il comment faire? Idéalement, nous aimerions pouvoir comparer ce pdf à un document de référence, mais c'est une question pour un autre jour.

Répondre

1

En ce qui concerne l'inspection du pdf à partir du sélénium, vous avez plus ou moins de chance. La balise embed laisse simplement tomber un plugin dans la page, et comme un plugin n'est pas bien représenté dans le DOM, Selenium ne peut pas avoir un très bon handle dessus. Toutefois, si vous utilisez Selenium-RC, vous pouvez envisager d'obtenir le src de l'élément embed, puis demander directement cette URL et évaluer le code PDF résultant. En supposant que votre élément embed ressemble à ce <embed id="embedded" src="http://example.com/static/pdf123.pdf" /> vous pouvez essayer quelque chose comme ça

 String pdfSrc = selenium.getAttribute("[email protected]"); 

Ensuite, faire une demande Web à l'URL pdfSrc et faire (en quelque sorte) valider c'est celui que vous voulez. Il suffit peut-être de vérifier que ce n'est pas un 404.