跳转到主要内容

camunda REST API 关键字,领先的开源工作流引擎。

项目描述

PyPI status pipeline status PyPi license PyPi version PyPI pyversions PyPI download month

Robot Framework Camunda

此库提供了访问camunda工作流引擎的关键字。camunda的完整REST API参考可以在此处找到。

请查看问题板以了解已知问题或自行报告。欢迎您提交拉取请求。

文档

关键字文档提供在此

安装

该库已发布在pypi.org,并可以使用pip安装

pip install robotframework-camunda

运行robotframework-camunda

tests文件夹中已提供示例robot测试,用于已实现的关键字。这些测试假定您已经有一个正在运行的camunda实例。

运行camunda的最简单方法是使用docker启动

docker run -d --name camunda -p 8080:8080 camunda/camunda-bpm-platform:run-latest

部署流程定义

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

*** Variables ***
${CAMUNDA_HOST}    http://localhost:8080
${MODEL_FOLDER}    ${CURDIR}/../models

*** Test Cases ***
Test deployment of a single model in 1 deployment
    ${response}    deploy    ${MODEL_FOLDER}/demo_for_robot.bpmn

Test deployment of several models in 1 deployment
    ${response}    deploy    ${MODEL_FOLDER}/demo_for_robot.bpmn    ${MODEL_FOLDER}/demo_embedded_form.html

启动流程实例

*** Settings ***
Library    CamundaLibrary    ${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}

执行任务

“执行任务”基本上意味着,您在完成期间执行一个robot任务,该任务从camunda中检索工作负载,处理它,并将工作负载返回给camunda。涉及的主要关键字是

  1. CamundaLibrary.Fetch 工作负载
  2. CamundaLibrary.Complete 任务
*** Settings ***
Library    CamundaLibrary    ${CAMUNDA_HOST}
Library    Collections

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

*** Test Cases ***
Process workload
    ${variables}    fetch workload   topic=${existing_topic}
    ${recent_task}    Get fetch response
    log    Recent task:\t${recent_task}

    Pass Execution If    not ${recent_task}    No workload fetched from Camunda
 
    # do some processing
    
    # create result and return workload to Camunda
    ${my_result}    Create Dictionary    lastname=Stahl
    complete task   ${my_result}

身份验证

先决条件:CamundaLibrary >= 2.0

如果您的Camunda平台REST API需要身份验证(在生产环境中至少应该如此!),那么在初始化过程中,您不需要传递主机URL给CamundaLibrary。您需要使用设置Camunda配置关键字。该关键字期望一个包含主机URL和(可选)用户名和密码或API密钥及其可选的前缀的字典。请参阅以下示例。

*** Settings ***
Library    CamundaLibrary


*** Test Cases ***
Demonstrate basic auth
    ${camunda_config}    Create Dictionary    host=http://localhost:8080    username=markus    password=%{ENV_PASSWORD}
    Set Camunda Configuration    ${camunda_config}
    ${deployments}    Get deployments    #uses basic auth now implictly

Demonstrate Api Key
    ${camunda_config}    Create Dictionary    host=http://localhost:8080    api_key=%{ENV_API_KEY}   api_key_prefix=Bearer
    Set Camunda Configuration    ${camunda_config}
    ${deployments}    Get deployments    #uses api key implicitly

如果您要传递用户名+密码API密钥,API密钥将始终优于用户名+密码。所以最好省略,以免混淆大家。

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源代码分发

robotframework-camunda-2.0.3.tar.gz (19.1 kB 查看哈希值)

上传时间 源代码

构建分发

robotframework_camunda-2.0.3-py3-none-any.whl (19.8 kB 查看哈希值)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面