如何将测试结果作为参数发送到我的 python 脚本?

How can I send results of a test as a parameter to my python script?

我创建了一个计划任务,我的 cypress 脚本每小时 运行 一次。但在那之后我想执行一个 python 脚本并将结果数据传递到那里。

运行 脚本并获取失败或成功的“结果”。

$ cypress run --spec "cypress/integration/myproject/myscript.js"

并将“结果”数据传递给 python 脚本。

$ python test.py results

我该怎么做?

有一个subprocess模块可以运行外部命令,这里是例子:

import subprocess

def get_test_output():
    filepath = './cypress/integration/myproject/myscript.js'

    res = subprocess.run(
        ['echo', filepath],
        stdout=subprocess.PIPE,
        stderr=subprocess.STDOUT,
    )
    # In your case it will be:
    # res = subprocess.run(
    #     ['cypress', 'run', '--spec', filepath],
    #     stdout=subprocess.PIPE,
    #     stderr=subprocess.STDOUT,
    # )

    return res.stdout.decode()


if __name__ == '__main__':
    test_res = get_test_output()

    print(test_res)
    # => ./cypress/integration/myproject/myscript.js

您可以在 test.py 的开头 运行 cypress 并将结果进一步传递给所需的函数