1

我正在尝试在 Azure DevOps 管道中执行多个 python 脚本,但“##[error]Cmd.exe 以代码 '5' 退出。” 显然没有任何测试用例的标识返回。

在管道的“执行脚本”步骤中,已经编写了以下命令:

 "C:\Program Files\Python\Python38\python.exe"  -m pytest $(System.DefaultWorkingDirectory)\autotest_main.py -v --junitxml=test-results.xml --html=report.html --self-contained-html

这工作正常,直到脚本“autotest_main.py”只包含带有测试用例的套件。但是我需要组织很多测试用例,所以起点是autotest_main.py脚本,编写如下:

import os

os.system('test_Preconditions.py')
os.system('test_Suite1.py')
os.system('test_Suite2.py')
os.system('test_Suite3.py')
os.system('test_Suite4.py')

我还使用 test_ 表示法使测试用例易于识别。每个 test_Suite1.py 文件都包含与 selenium webdriver 一起测试 Web 应用程序前端的单元测试。当我在本地计算机上运行脚本时,一切正常,但是当我使用 azure devops 运行它时,“##[error]Cmd.exe 以代码 '5' 退出。” 被退回。这里的日志:

##[section]Starting: execute script
==============================================================================
Task         : Command line
Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
Version      : 2.176.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
==============================================================================
Generating script.
Script contents:
"C:\Program Files\Python\Python38\python.exe"  -m pytest C:\agent\_work\12\s\autotest_main.py -v --junitxml=test-results.xml --html=report.html --self-contained-html
========================== Starting Command Output ===========================
##[command]"C:\Windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "C:\agent\_work\_temp\b653526f-53a0-4ac7-8a22-50698ed4ba58.cmd""
============================= test session starts =============================
platform win32 -- Python 3.8.3, pytest-6.1.0, py-1.9.0, pluggy-0.13.1 -- C:\Program Files\Python\Python38\python.exe
cachedir: .pytest_cache
metadata: {'Python': '3.8.3', 'Platform': 'Windows-10-10.0.14393-SP0', 'Packages': {'pytest': '6.1.0', 'py': '1.9.0', 'pluggy': '0.13.1'}, 'Plugins': {'html': '2.1.1', 'metadata': '1.10.0', 'nunit': '0.6.0'}}
rootdir: C:\agent\_work\12\s
plugins: html-2.1.1, metadata-1.10.0, nunit-0.6.0
collecting ... collected 0 items
 
---------- generated xml file: C:\agent\_work\12\s\test-results.xml -----------
--------- generated html file: file://C:\agent\_work\12\s\report.html ---------
============================ no tests ran in 0.32s ============================
##[error]Cmd.exe exited with code '5'.
##[section]Finishing: execute script

有什么建议可以解决这个问题吗?如果可能,我想防止在 Azure Pipeline 中编写大量执行脚本步骤。

4

0 回答 0