Github actions integratie met Robot framework

GitHub Actions en Robot Framework bieden samen een krachtige combinatie voor automatische uitvoering van testscenario’s bij elke wijziging in je codebase. Hier is hoe je deze tools samen kunt gebruiken voor Continuous Integration en Continuous Testing in je projecten.

Introductie tot GitHub Actions

GitHub Actions is een CI/CD-service die je toestaat om automatiseringsworkflows te definiëren en uit te voeren direct binnen je GitHub-repository. Je kunt GitHub Actions gebruiken voor een verscheidenheid aan taken zoals het bouwen van code, het uitvoeren van tests, en het deployen van applicaties.

Introductie tot Robot Framework

Robot Framework is een open-source automatiseringstool voor acceptatietesting, acceptatietest-driven development (ATDD), en robotic process automation (RPA). Het maakt gebruik van keyword-driven testing, waardoor het eenvoudig te gebruiken is, zelfs voor personen die niet bekend zijn met programmeren.

Automatiseren van Robot Framework Tests met GitHub Actions

  1. Aanmaken van de Workflow: Creëer een .github/workflows directory in je GitHub-repository en maak daarbinnen een YAML-bestand aan voor je workflow (bijv. robot-tests.yml). Dit bestand definieert de workflow die uitgevoerd moet worden.
  2. Configureren van de Workflow: In het YAML-bestand, specificeer je de triggers voor de workflow (zoals push of pull request), de omgeving waar de tests moeten draaien, en de stappen die uitgevoerd moeten worden. Een basisvoorbeeld van een configuratie is als volgt:
name: Robot Framework Tests

on: push

jobs:
  robot-test:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: '3.8'

    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install robotframework robotframework-seleniumlibrary

    - name: Run Robot Framework tests
      run: |
        robot --variable BROWSER:headlesschrome lesson_2

    - name: Upload Test Reports as Artifacts
      uses: actions/upload-artifact@v2
      with:
        name: robot-framework-reports
        path: |
          log.html
          report.html
          output.xml

Uitvoeren van Tests:

  1. Bij elke push naar de repository zullen de gespecificeerde tests automatisch worden uitgevoerd op een Ubuntu VM. De resultaten van deze tests zijn vervolgens zichtbaar binnen de GitHub Actions tab van je repository.
  2. Resultaten en Feedback: Na het uitvoeren van de tests, kun je de logs en resultaten van de tests bekijken. Op basis van deze resultaten kun je acties ondernemen zoals het fixen van fouten of het doorvoeren van verbeteringen in je code. De integratie van Robot Framework met GitHub Actions versnelt het testproces door automatisering en zorgt voor een constante feedbackloop, waardoor je snel kunt reageren op problemen en de kwaliteit van je software kunt waarborgen. Note, Als je een wijziging doet trapt hij op dit moment alleen een automatische test af in dit geval alleen lesson_2

Toets: zorg ervoor dat hij alle testen aftrapt.

Tip: Dit kan je doen om mijn repo te forken/clonen en het anders te organizeren en vanuit je eigen github actions

https://github.com/learn-automated-testing/robot_framework_course

Nadat je de test hebt uitgevoerd maakt hij een artifact aan die je kan downloaden naar je locale computer. Je kan uiteraard ook een koppeling maken met github pages, maar dat is niet in scope van deze tuturial

Download artifact

Rapport les 2 vanuit github actions