Skip to main content

Keywords for camunda rest api, leading open source workflow engine.

Project description

Robot Framework Camunda

This library provides keywords for accessing camunda workflow engine. Complete REST API reference of camunda can be found here.

Library is in an early stage. Please review issue board for known issues or report one yourself. You are invited to contribute pull requests.

Documentation

Keyword documentation exists for sub-libraries:

Installation

The library is published on pypi.org and can be installed with pip:

pip install robotframework-camunda

Running robotframework-camunda

The tests folder has example robot tests for keywords already implemented. Those tests assume you already have an instance of camunda running.

Deploy process definition

*** Settings ***
Library    CamundaLibrary.Deployment    ${CAMUNDA_HOST}

*** Variables ***
${CAMUNDA_HOST}    http://localhost:8080

*** Test Cases ***
Test deployment of models
    ${response}    deploy model from file    ${CURDIR}/../../bpmn/demo_for_robot.bpmn

Starting a process instance

*** Settings ***
Library    CamundaLibrary.ProcessDefinition    ${CAMUNDA_HOST}

*** Variables ***
${CAMUNDA_HOST}    http://localhost:8080

*** Test Cases ***
Test starting process
    #GIVEN
    ${process_definition_key}    Set Variable    demo_for_robot

    # WHEN
    ${process_instance}    start process    ${process_definition_key}

Execute Task

"Executing task" bascially means, you execute a robot task that fetches a workload from camunda, processes it and returns its workload back to camunda during completion. Main keywords involved are:

  1. CamundaLibrary.ExternalTask.Fetch and lock workloads
  2. CamundaLibrary.ExternalTask.Complete Task
*** Settings ***
Library    CamundaLibrary.ExternalTask    ${CAMUNDA_HOST}
Library    Collections

*** Variables ***
${CAMUNDA_HOST}    http://localhost:8000
${existing_topic}    process_demo_element

*** Test Cases ***
Test 'fetch and lock' for non existing topic
    # WHEN
    ${work_items}    fetch and lock workloads   topic=${existing_topic}

    # THEN
    Should Not Be Empty    ${work_items}

    ${recent_task}    Get recent process instance
    log    Recent task:\t${recent_task}

    ${my_result}    Create Dictionary    lastname=Stahl
    complete task   ${existing_topic}    ${recent_task}    ${my_result}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework-camunda-0.8.0.tar.gz (6.9 kB view hashes)

Uploaded Source

Built Distribution

robotframework_camunda-0.8.0-py3-none-any.whl (13.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page