So führen Sie ein Python-Skript in Dart aus (für Integrationstests)
Posted: 28 Dec 2024, 18:39
Ich schreibe derzeit einen Integrationstest für meine erste Flutter-Anwendung. Um den Test noch mehr zu automatisieren, möchte ich die E-Mail automatisch über ein Python-Skript überprüfen.
In meinem Python-Skript melde ich mich über die Gmail-API bei dem angegebenen Konto an und überprüfe, ob dort vorhanden ist Sind alle ungelesenen E-Mails zur Überprüfung vorhanden, und wenn ja, klickt das Skript auf den Link, um ihn zu überprüfen.
Wenn ich das Skript in der Befehlszeile ausführe, funktioniert es einwandfrei. Die Ausgabe unten zeigt meine Kommentare / dass das Skript wie beabsichtigt funktioniert.
Da ich das Skript in meiner Dart-Datei implementieren wollte, habe ich etwas recherchiert und die Klasse „Process“ in Dart gefunden, die die Ausführung von cmd-Befehlen in Dart ermöglicht.Ich habe mir diese Funktion ausgedacht, die nach der Registrierung des Benutzers aufgerufen wird (wenn er aufgefordert wird, die E-Mail-Adresse zu bestätigen).
Allerdings erhalte ich andere Ergebnisse als erwartet. Anstelle einer der Druckanweisungen erhalte ich eine Fehlermeldung von VSC, die besagt, dass die Datei nicht gefunden werden konnte.
Obwohl ich zu 100 % sichergestellt habe, dass die Datei vorhanden und zugänglich ist, kann sie mit dem von mir geschriebenen Code nicht gefunden werden. Ich habe einige andere Ansätze ausprobiert, aber keiner davon hat richtig funktioniert, also bin ich hierher gekommen, um zu fragen, ob jemand eine Lösung kennt – oder ob es mit dem Prozesspaket einfach nicht möglich ist.
Danke für Ihre Hilfe!
In meinem Python-Skript melde ich mich über die Gmail-API bei dem angegebenen Konto an und überprüfe, ob dort vorhanden ist Sind alle ungelesenen E-Mails zur Überprüfung vorhanden, und wenn ja, klickt das Skript auf den Link, um ihn zu überprüfen.
Wenn ich das Skript in der Befehlszeile ausführe, funktioniert es einwandfrei. Die Ausgabe unten zeigt meine Kommentare / dass das Skript wie beabsichtigt funktioniert.
Code: Select all
C:\...>python C:\...\emailVerification.py
Found verification link: https:\\...
Successfully verified email via link
Code: Select all
Future runPythonScript() async {
final result = await Process.start(
'python',
['C:/.../emailVerification.py'],
environment: {
'PATH': Platform.environment['PATH']!,
},
);
if (result.exitCode == 0) {
print("Python script output: ${result.stdout}");
} else {
print("Error: ${result.stderr}");
}
}
Code: Select all
Exception has occurred.
ProcessException (ProcessException: No such file or directory
Command: python C:/.../emailVerification.py)
Danke für Ihre Hilfe!