我对 RobotFramework 进行了测试,该测试在 GitHub Actions 中运行。目前有一个工作流程,可以运行测试并为其生成 Allure 报告。然后将报告部署到 GitHub Pages 中。
看起来像这样:
jobs:
Run_tests:
runs-on: ubuntu-latest
steps:
- name: Run tests
run: |
robot --outputdir results --listener allure_robotframework:results/allure test_suite_folder
Generate_report:
needs: Run_tests
runs-on: ubuntu-latest
name: Generate Allure Report
steps:
- name: Get Allure history
uses: actions/checkout@v4
if: always()
continue-on-error: true
with:
ref: gh-pages
path: gh-pages
- name: Generate Allure report with history
uses: simple-elf/allure-report-action@master
if: always()
id: allure-report
with:
allure_results: results/allure
gh_pages: gh-pages
allure_report: allure-report
allure_history: allure-history
keep_reports: 20
- name: Deploy report to Github Pages
if: always()
uses: peaceiris/actions-gh-pages@v2
env:
PERSONAL_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: allure-history
现在我想要具有不同测试套件的其他工作流程。 理想情况下,我希望有 2 个具有不同 URL 的不同报告。但我不确定 GitHub Pages 是否允许这样做。
所以我尝试将 2 个套件的结果存储在 2 个不同的文件夹中,然后从它们生成一份报告
所以 Workflow_1 有
--listener allure_robotframework:results/allure/folder_1
Workflow_2 有
--listener allure_robotframework:results/allure/folder_2
每个工作流程应从父文件夹收集报告
- name: Generate Allure report with history
uses: simple-elf/allure-report-action@master
if: always()
id: allure-report
with:
allure_results: results/*
gh_pages: gh-pages
allure_report: allure-report
allure_history: allure-history
keep_reports: 20
但是新报告只是覆盖了旧报告。
您可以通过在 gh-pages 分支内创建两个不同的子目录来实现此目的。