我正在尝试从 Azure 管道在我的自托管 VM 中执行 Selenium 测试。我收到以下错误消息。
##[错误]x64 架构的版本规范 3.8 与 Agent.ToolsDirectory 中的任何版本都不匹配。
下面是我的Yaml
trigger:
- main
pool: default strategy: matrix:
Python38:
python.version: '3.8'
addToPath: true
steps:
- task: UsePythonVersion@0 inputs:
versionSpec: '$(python.version)'
addToPath: true
architecture: 'x64' displayName: 'Use Python $(python.version)'
- script: |
python -m pip install --upgrade pip
pip install -r requirements.txt displayName: 'Install dependencies'
- script: |
pip install pytest-azurepipelines
pytest tests\test_smoke\test_suite_SmokeTest.py -s -v --browser Chrome --html=report.html --reruns 2 displayName: 'pytest'
- task: DownloadPipelineArtifact@2 inputs:
buildType: 'specific'
project: '8801f21d-f4e9-4b65-b01e-68baf825747c'
definition: '5'
buildVersionToDownload: 'latest'
targetPath: '$(Pipeline.Workspace)'
无法在自托管 Azure VM 上运行 Python Selenium 测试
要在私有代理上使用此任务,我们需要 将所需的 Python 版本添加到自托管代理上的工具缓存中,以便任务可以使用它。
通常工具缓存位于代理的 _work/_tool 目录下,或者您可以使用命令行任务来回显变量
$(Agent.ToolsDirectory)
来获取路径。
然后,在该目录下,根据您的 Python 版本创建以下目录结构:
$AGENT_TOOLSDIRECTORY/
Python/
{version number}/
{platform}/
{tool files}
{platform}.complete
版本号应遵循1.2.3的格式。该平台 应该是 x86 或 x64。工具文件应该是解压后的 Python 版本文件。 {platform}.complete 应该是 0 字节文件 看起来像 x86.complete 或 x64.complete 并且仅表示 工具已正确安装在缓存中。
我的测试目录结构:
$AGENT_TOOLSDIRECTORY/
Python/
3.9.0/
x64/
python-3.9.0-amd64.exe
x64.complete
现在,它在我的自托管代理上运行良好:
您可以参考本文档中的常见问题解答了解更多详细信息。
这是一篇多么棒的文章啊,应该用简单明了的方式来解释它,而不是让它变得复杂