Script zum Test einer Webapplikation

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
zorn
Beiträge: 697
Registriert: 19.08.2003 00:42:10
Wohnort: Berlin
Kontaktdaten:

Script zum Test einer Webapplikation

Beitrag von zorn » 24.11.2004 19:39:17

Hallo Forum,

ich möchte ein Script schreiben dass sich auf einer https seite als user mit passwort einlogged und im internen bereich über verschiedenen menues eine bestellung vornimmt und sich wieder auslogged. hat mir jemand einen tip mit welcher sprache ich das in angriff nehmen soll und eventuell einen link zu basisinfo?

vielen dank
--
kallisti!

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 24.11.2004 19:50:32

Hi zorn,

ich würd sowas mit Python machen, aber nicht nur weil Python dafür so gut geeignet ist, sondern auch weil ich mich mit Python recht gut auskenne. Im Prinzip geht es auch mit perl oder ruby oder sogar ganz allein mit bash-scripting.


Gruß

Dookie

Benutzeravatar
zorn
Beiträge: 697
Registriert: 19.08.2003 00:42:10
Wohnort: Berlin
Kontaktdaten:

Beitrag von zorn » 24.11.2004 20:04:11

danke dookie,

python ist jetzt allerdings gar nicht meine welt. mit shell-script bin ich ziemlich fit, perl geht so. hast du mir einen tip wonach ich suchen muss um da infos zu bekommen? wie realisier ich das?
--
kallisti!

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 24.11.2004 21:18:12

dann würd ichs mit perl versuchen, und zu den entsprechenden Formularseiten mit den entsprechenden get- bzw. post-variablen einen request senden. Wie das mit dem Einloggen geht weiß ich auch nicht, habs noch nicht probiert. Eventuell mal im Perl-Cookbook suchen.


Gruß

Dookie

Benutzeravatar
zorn
Beiträge: 697
Registriert: 19.08.2003 00:42:10
Wohnort: Berlin
Kontaktdaten:

Beitrag von zorn » 24.11.2004 21:51:18

danke! hab auch schon die passenden perl module gefunden. trotzdem wäre mir shellscript an sich lieber - eventuell auch einen tip zu shellscript?
--
kallisti!

Athlux
Beiträge: 543
Registriert: 16.05.2004 22:15:56

Beitrag von Athlux » 25.11.2004 00:25:40

zorn hat geschrieben:danke! hab auch schon die passenden perl module gefunden. trotzdem wäre mir shellscript an sich lieber - eventuell auch einen tip zu shellscript?
EDIT: Hab da wohl was falsch gelesen ;)
Gruß Athlux

Benutzeravatar
zorn
Beiträge: 697
Registriert: 19.08.2003 00:42:10
Wohnort: Berlin
Kontaktdaten:

Beitrag von zorn » 25.11.2004 02:15:25

okok - ich machs in perl

mein perl ist aber noch extrem holprig:

soweit bin ich schon mal:


{
#!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common;

$ua = LWP::UserAgent->new;
$ua->request(POST 'https://einesite.de/unterverzeichnis/', [name => bla, password => blubber ]);
}



jetzt mein versändnissproblem:

anscheinend brauche ich eine session-id. wenn ich die page ziehe steht im code folgendes: Set-Cookie: JSESSIONID=blubberblubberblubber

baue ich die so ein (habs versucht, aber ich bekomme ja keinen output)?
$ua->request(POST 'https://einesite.de/unterverzeichnis/', [name => bla, password => blubber, jsessionid => blubberblubberblubber ]);

falls ja: wie kann ich die page die nach dem login kommt abrufen?
will meinen: wenn ich normal mit dem bowser die page besuche und auf login klicke werde ich auf eine neue site geleitet. wie rufe ich die ab?
dazu kann ich leider nichts finden.

VIELEN DANK!
(fänds immer noch in shellscript gut weil das parsen noch auf mich zu kommt und mir sed + awk wesentlich besser gefällt als perl - aber das ändert sich ja wahrscheinlich im laufe dieses projekts...)
--
kallisti!

Benutzeravatar
ckihm.deb
Beiträge: 263
Registriert: 26.12.2002 18:49:38
Wohnort: Saarbrücken

Beitrag von ckihm.deb » 25.11.2004 07:36:22

Man kann auch mit dem consolen browser lynx das Aufrufen und Testen einer Seite automatisieren. Dazu ruft man ihn einfach mit der Option -cmd_log=file auf. Dabei wird nu ein macro aufgenommen, was heisst das jeder klick und jede Eingabe in eine Datei mitgeschrieben wird. Wenn man dies gemacht hat, kann man lynx mit der Option -cmd_script=file aufrufen, was lynx dazu bewegt genau das selbe wieder zu tun. Damit kann man wunderbar testfälle schreiben.
-cmd_log=FILENAME
write keystroke commands and related information to the
specified file.

-cmd_script=FILENAME
read keystroke commands from the specified file. You can use
the data written using the -cmd_log option. Lynx will ignore
other information which the command-logging may have written to
the logfile. Each line of the command script contains either a
comment beginning with "#", or a keyword:

exit causes the script to stop, and forces lynx to exit
immediately.

key the character value, in printable form. Cursor and other
special keys are given as names, e.g., "Down Arrow".
Printable 7-bit ASCII codes are given as-is, and hexadecimal
values represent other 8-bit codes.

set followed by a "name=value" allows one to override values set
in the lynx.cfg file.
christian

Benutzeravatar
zorn
Beiträge: 697
Registriert: 19.08.2003 00:42:10
Wohnort: Berlin
Kontaktdaten:

Beitrag von zorn » 25.11.2004 10:30:01

SUPER! Schon getestet und funktioniert perfekt! VIELEN DANK! Grosses Problem gelöst!

(Falls jemand zu dem Perl Problem was weis bin ich immer noch an einer Lösung interessiert!)

thx
--
kallisti!

Benutzeravatar
zorn
Beiträge: 697
Registriert: 19.08.2003 00:42:10
Wohnort: Berlin
Kontaktdaten:

Beitrag von zorn » 26.11.2004 18:23:48

Doch noch ne Frage zum Thema:

Mein Ziel ist es ja zu testen ob die Seiten korrekt aufgerufen werden. Zu diesem Zweck loge ich mich dort ein, klicke ein bischen rum, und logge mich wieder aus. Das ganze per lynx-macro. Lynx frägt aber die gifs und jpgs nicht ab! Kann ich Lynx so konfigurieren dass die Grafiken übertragen werden und falls ja, kann ich auch sagen wirf einen error aus falls eine nicht kommt?
Ansonsten hilft mir das Macro nämlcih doch nur bedingt weiter. Ich kann die Funktion testen, nicht aber die korrekte Darstellung.

Thx
--
kallisti!

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 26.11.2004 19:54:03

Da müsstest Du wohl die Seite als html ausgeben lassen, und nach den <img>... Tags suchen und dann die Bilder testweise runterladen. Ich weiss jetzt nicht auswendig ob Lynx dafür eine Funktion hat.

Dookie

Benutzeravatar
zorn
Beiträge: 697
Registriert: 19.08.2003 00:42:10
Wohnort: Berlin
Kontaktdaten:

Beitrag von zorn » 26.11.2004 21:06:35

Laut man kann es das nicht...
...ich bin unter Linux schon sooo vielen Ausnahmen begegnet...
--
kallisti!

Antworten