如何将测试结果作为参数发送到我的 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
并将结果进一步传递给所需的函数
我创建了一个计划任务,我的 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
并将结果进一步传递给所需的函数