| 

.NET C# Java Javascript Exception

1
Hallo,

Für eine Web GUI Testautomatisierung muss ich unser Framework so anpassen, dass es möglich ist die PDF Dokumente im Internet Explorer / FireFox Adobe PlugIn auszulesen. In einem ersten Schritt würde es reichen die Dokument abzuspeichern. Was ich nicht möchte, ist, dass ich das GUI des Reader automatisier. Mir ist auch klar, dass es auch über die Klassen HttpReader, HttpResponse (ich glaub die heissen so) möglich ist, bei Ajax Calls wird es ein bisschen komplizierter, aber ich denke, dort würde ich schon eine Lösung finden. Jedoch will dies mein Vorgesetzter nicht, er besteht auf die GUI Automation.
Hat jemand von euch evtl. schon mal so ein Problem gelöst? Wenn ja wie? Hat jemand Erfahrung mit dem Adobe SDK und könnte mir evtl. ein Hint liefern, welchen ich weiterverfolgen könnte.

Besten Dank
Dan
News:
19.12.2011
CodingMan 168 5
3 Antworten
1
Hallo,

also wenn es darum geht Website GUIs zu testen kann ich dir WatiN empfehlen. Unterstützt Firefox, IE und auch ajax calls. Es gibt auch ein WaitN Recorder mit denen du Macros aufzeichnen kannst - Mit diesem habe ich aber weniger Erfahrung.

Falls ich am Thema vorbei sein sollte, schreib einfach ein Kommentar. Zur Zeit weiß ich nicht was du mit dem Adobe SDK machen möchtest und ob ich dich richtig verstanden habe.

Update
Ich habe einen Link gefunden, in dem beschrieben wird wie man mit WatiN testen kann, ob ein PDF geöffnet wurde: Hier klicken

Update 2
Da ich durch deine Kommentare nun verstanden habe was du machen möchtest, hoffe ich das dir dieses PDF als Anleitung dienlich ist. Es beschreibt, wie du eine JavaScript-Bridge für das PDF Objekt schreiben kannst, um Befehle an das Plugin zu senden.

In diesem PDF ab Seite 10 wird die JavaScript API beschrieben. Dort habe ich auch eine SaveAs Methode für das Document Object gefunden.

Evt. ist es dir möglich für deine Tests die PDFs in so ein zu betten, das du mit der javascript api die save operation durchführen kannst.

Grüße
19.12.2011
Nicolai Schönberg 2,4k 2 9
Danke, ich werde dies mal Anschauen. Falls ich erfolgreich war, lasse ich es dich wissen.
Gruss
Daniele
CodingMan 19.12.2011
0
Hallo Nicolai,

Watin haben wir bei uns im Einsatz und kenne es mehr oder weniger auswendig, jedoch werden wir es in naher Zukunft durch ein anderes Automatisierungstool ersetzen.
Da im Watin Projekt relativ wenig geht.
Auch diesen Ansatz habe ich angeschaut und mit dem HttpRequest weiter entwickelt, und dann das PDF Dokument gestreamt. Jedoch funktionierte dies nur Zeitweise. Manchmal konnte mit ShDocVW.dll das Plugin nicht gefunden werden, was nicht so schlimm war. Richtig mühsam wird/wurde dieser Ansatz, wenn Ajax im Einsatz ist, d.h. du hast keine Ahnung wie die eigentliche PDF Url ist und ich hatte/habe keine Ahnung wie ich die Response eines Ajax Posts abfangen kann. Hierbei spielt noch ein anderes Problem mit, in unseren Webapplikation kommen diverse Ajax Frameworks zum Einsatz, z.b. ExtJs2 und jQuery in diversen Versionen.
Aber im Grunde geht es darum, nach einem Post Befehlt, öffnet sich im IE in einem separaten Fenster das PDF im Plug In. Nun möchte ich das Plugin anzapfen und das PDF automatisiert abspeichern. Ich möchte das Adobe Reader unter keinen Umständen automatisieren.

Am liebsten würde ich dies mit HttpRequest implementieren, jedoch müsste dann auf der Webseite ein Javascript zur Verfügung stehen, dass ich Invoken könnte um die Ajax generiete Url abfragen könnte, leider gibt es grössere Hürden zu nehmen. Nebst dem Vorgesetzten, würde so ein Feature kein Geld einbringen, und deshalb hätte es Prio 0 und würde deshalb nie entwickelt.

Gruss
Daniele
19.12.2011
CodingMan 168 5
Ok hab grade Kabelsalat im Kopf:
1) Es öffnet sich ein PDF in einem NEUEN Browserfenster
2) Im neuen Browserfenster wird das PDF im Plugin dargestellt
3) Du willst das PDF abspeichern, aber dafür nicht das Plugin ansprechen

Nun stellt sich mir die Frage: Was genau willst du testen? Ob das PDF im Browser angezeigt wird? Ob das Adobe Plugin richtig funktioniert sollte nicht dein Problem sein. Warum willst du das PDF Speichern? Und warum muss es dazu erst geladen werden. Imho sind das 2 unterschiedliche tests: anzeigen / speichern. Gruß
Nicolai Schönberg 19.12.2011
Du hast bis auf Punkt 3 alles richtig verstanden.
Schlussendlich muss der Inhalt des PDF getestet werden, dies ist jedoch nicht das Problem.
Ich möchte das PlugIn ansprechen über die API und das Dokument welches angezeigt wird abspeichern. Nur habe ich keine Ahnung wie.
CodingMan 19.12.2011
Ich habe meiner Antwort ein Update hinzugefügt.
Nicolai Schönberg 19.12.2011
0
Ein Plugin welches ohne User Interaktion Dateien vom Webserver auf die lokale Platte speichern kann wäre security-technisch - sagen wir - suboptimal.
Ich hoffe dass ist so nicht machbar (vielleicht habe ich auch Deine Anforderung falsch verstanden)
19.12.2011
Jaksa 4,0k 2 8

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH