Flutter集成测试中Dart调用Python脚本提示文件不存在的问题求助
Flutter集成测试中Dart调用Python脚本提示文件不存在的问题求助
我现在正在给我的第一个Flutter应用写集成测试,为了让测试更自动化,我想用Python脚本自动完成邮箱验证的步骤。
我的Python脚本逻辑是通过Gmail API登录指定账号,检查是否有未读的验证邮件,如果有的话就点击里面的链接完成验证。在命令行直接运行这个脚本完全正常,输出如下:
C:...>python C:...\emailVerification.py
Found verification link: https:\...
<Response [200]>
Successfully verified email via link
之后我想把这个脚本集成到Dart代码里,查了资料发现可以用Dart的Process类来执行命令行命令。于是我写了下面这个函数,在用户注册完成(需要验证邮箱的时候)调用:
Future<void> 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}"); } }
但实际运行起来结果完全不对,我没看到预期的打印内容,反而VS Code抛出了文件找不到的错误:
Exception has occurred.
ProcessException (ProcessException: No such file or directory
Command: python C:/.../emailVerification.py)
我100%确认这个文件是存在且可访问的,也试了其他几种写法,但都没解决问题。想请教大家有没有修复方案,或者是不是用Process包根本做不到这件事?谢谢大家的帮助!
备注:内容来源于stack exchange,提问作者user28967920
相关产品推荐
相关产品推荐

