无法在自托管 Azure VM 上运行 Python Selenium 测试

问题描述 投票:0回答:2

我正在尝试从 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)'

我已在我的虚拟机中配置了代理。我还在VM中安装了python 3.8.6并为其配置了python路径。

python-3.x selenium-webdriver azure-devops azure-pipelines azure-virtual-machine
2个回答
2
投票

无法在自托管 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

现在,它在我的自托管代理上运行良好:

您可以参考本文档中的常见问题解答了解更多详细信息。


0
投票

这是一篇多么棒的文章啊,应该用简单明了的方式来解释它,而不是让它变得复杂

© www.soinside.com 2019 - 2024. All rights reserved.