提问者:小点点

Azure管道硒保存截图


我有一个 azure 管道,它会触发一个 python 硒证书,用于检查我的网站是否正常工作。

但是有一个阶段一直失败,因为我需要selenium来输入一个特定的日期,并且由于我不确定输入的日期是否是错误的格式(在本地可以正常工作),所以我想在那个阶段截取一个截图,以便完全理解那里发生了什么。

在本地,这是我保存屏幕截图的配置:

try:
    wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="root"]/div[2]/main/div[4]/div/button[2]'))).click()
except:
    driver.save_screenshot('error.png')

这工作得很好,它确实在本地文件夹中输出png图像。但是在azure pipeline上运行这个并不能保存png文件。

这是我的管道配置

stages:
  - stage:
    jobs:
      - job: Configuration
        steps:
          - task: UsePythonVersion@0
            inputs:
              versionSpec: '3.8'
              addToPath: true
          - script: |
              python -m pip install --upgrade pip
              pip install selenium
              printenv
          - task: Pythonscript@0
            inputs:
              scriptSource: 'filePath'
              scriptPath: './script1.py'
            env:
              USERNAMEOT: $(usernameot)
              PASSWORDOT: $(passwordot)
      - job: Artifact
        steps:
          - task: CopyFiles@2
            displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
            inputs:
              SourceFolder: '$(system.defaultworkingdirectory)'
              Contents: '**.png'
              TargetFolder: '$(build.artifactstagingdirectory)'
              flattenFolders: true
          - task: PublishBuildArtifacts@1
            displayName: 'Publish Artifact: screenshots'
            inputs:
              PathtoPublish: '$(build.artifactstagingdirectory)'
              ArtifactName: screenshots

我确实有一个复制文件和发布工件的任务,但由于此任务并行运行,因此它会在上一个作业之前完成并且不返回任何内容。我在徘徊,即使配置作业失败,如何将我拥有的 png 文件保存到工件文件夹中?

非常感谢你们能为我提供的任何帮助,伙计们,我真的很挣扎


共1个答案

匿名用户

我在想,即使配置作业失败,我如何将我拥有的png文件保存到人工制品文件夹?

您可以尝试设置作业Artiif的依赖关系和条件,例如:

jobs:
- job: Artifact
  dependsOn: Configuration
  condition: succeededOrFailed()

使用依赖项On:Configuration,作业工件将在作业Configuration之后执行。并且条件:successedOrFailed()将在配置作业失败时保持作业工件的执行。

您可以查看文档指定条件和依赖关系以获取更多详细信息。

相关问题