【问题标题】:Azure pipeline selenium save screenshotAzure 管道硒保存屏幕截图
【发布时间】:2021-08-27 09:26:22
【问题描述】:

我有一个 azure 管道,它触发一个 python selenium 脚本,检查我的网站是否正常工作。

但是有一个阶段一直失败,因为我需要 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 管道上运行它,不会保存 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

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

非常感谢你们为我提供的任何帮助,我真的很努力解决这个问题

【问题讨论】:

    标签: python-3.x azure-devops selenium-chromedriver azure-pipelines azure-pipelines-build-task


    【解决方案1】:

    我在徘徊,即使配置作业失败,如何将我拥有的 png 文件保存到 artefact 文件夹?

    您可以尝试为作业Artifact 设置依赖项和条件,例如:

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

    使用dependsOn: Configuration,作业Artifact 将在作业Configuration 之后执行。当配置作业失败时,condition: succeededOrFailed() 将保持作业 Artifact 执行。

    您可以查看文档Specify conditionsDependencies 了解更多详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多