subprocess, Ergebnis aus cmd speichern
Verfasst: Donnerstag 4. Oktober 2018, 23:12
Guten Abend,
zur Testautomatisierung verwende ich Squish in Kombination mit Python. Für einen Test möchte ich eine Anweisung in der Kommandozeile ausführen und möchte mir das Ergebnis (ist eine Anzahl von Objekten in der Datenbank) speichern. Es ist dabei egal, ob das Ergebnis direkt in einer Variablen gespeichert wird oder erst z.B. in einer txt zwischengespeichert wird.
Wenn ich das ganze manuell durchführe ist alles kein Problem. Wenn ich es über Squish mit Python (oder nur über die Python idle ohne Squish) mache, wird der Befehl ausgeführt und erscheint in der cmd auch korrekt, die txt wird auch erstellt, aber er schreibt nix in die txt. Er sagt, dann dass er auf die neu erstellte txt nicht zugreifen kann, da diese in Benutzung ist.
Mein erster Ansatz war :
os.system("programmpfad/programm.exe befehl > text.txt") Hierbei war es egal, ob ich den Pfad der txt statisch oder dynamisch angebe. Der Fehler kam trotzdem.
Mein zweiter Ansatz war über:
subprocess.check_output() Hier weiß ich aber leider garnicht was ich da wie Parametrieren muss.
Ist es egal welchen von beiden man verwendet und wie wäre ein Befehl, dass er tatsächlich was in die txt schreibt???
Kann mir jemand helfen?
DAnke und viele Grüße
rh
zur Testautomatisierung verwende ich Squish in Kombination mit Python. Für einen Test möchte ich eine Anweisung in der Kommandozeile ausführen und möchte mir das Ergebnis (ist eine Anzahl von Objekten in der Datenbank) speichern. Es ist dabei egal, ob das Ergebnis direkt in einer Variablen gespeichert wird oder erst z.B. in einer txt zwischengespeichert wird.
Wenn ich das ganze manuell durchführe ist alles kein Problem. Wenn ich es über Squish mit Python (oder nur über die Python idle ohne Squish) mache, wird der Befehl ausgeführt und erscheint in der cmd auch korrekt, die txt wird auch erstellt, aber er schreibt nix in die txt. Er sagt, dann dass er auf die neu erstellte txt nicht zugreifen kann, da diese in Benutzung ist.
Mein erster Ansatz war :
os.system("programmpfad/programm.exe befehl > text.txt") Hierbei war es egal, ob ich den Pfad der txt statisch oder dynamisch angebe. Der Fehler kam trotzdem.
Mein zweiter Ansatz war über:
subprocess.check_output() Hier weiß ich aber leider garnicht was ich da wie Parametrieren muss.
Ist es egal welchen von beiden man verwendet und wie wäre ein Befehl, dass er tatsächlich was in die txt schreibt???
Kann mir jemand helfen?
DAnke und viele Grüße
rh