
# 测试算子功能
当算子功能代码开发完毕后，可以在DWR工作流中使用或进行上线前的测试。本节主要介绍如何使用DWR的自定义工作流来测试算子的功能。
#### 测试算子功能
1. 登录DWR控制台， 在工作流页面单击**"** 创建工作流**"** 进入工作流编排界面。
   
   1. 将左侧"自定义"算子拖拽至编排区域。
   
   2. 鼠标单击各流程图标下方的小圆圈并长按拖拽，将工作流完整串联起来。
   
   3. 在函数唯一标识中搜索上文中创建的测试算子。
   
   
   图1编排自定义工作流   
   ![](https://support.huaweicloud.com/bestpractice-dwr/zh-cn_image_0000001441393333.png "点击放大")
   
   
2. 配置DWR动态参数(dynamic_source) 
   上文算子测试时我们通过dynamic_source获取了两个参数值bucketname以及object。在工作流中，需要指明dynamic_source，并配置两个参数，否则算子将无法找到数值内容。单击"新增动态参数"，并添加动态参数，配置结果如[图2]所示。
   配置完成后，单击"保存"，输入工作流名称，单击"确认"，成功保存后界面会自动跳转到工作流列表界面。
   图2配置动态参数例图   
   ![](https://support.huaweicloud.com/bestpractice-dwr/zh-cn_image_0000001441672953.png "点击放大")
   
   
   
3. 配置OBS桶触发器 
   根据[图2](https://support.huaweicloud.com/bestpractice-dwr/dwr_04_0003.html#dwr_04_0003__zh-cn_topic_0000001234062680_fig635412719532)所示，工作流的执行时机由触发器决定，当前DWR仅支持OBS的触发器
   在工作流列表中找到刚才创建的工作流，单击**"创建事件触发器"** ，如[图3]所示，在弹出窗口中根据输入项名称完成触发器的配置。
   图3创建触发器   
   ![](https://support.huaweicloud.com/bestpractice-dwr/zh-cn_image_0000001391393266.png "点击放大")
   ![](https://support.huaweicloud.com/bestpractice-dwr/public_sys-resources/note_3.0-zh-cn.png)
   - 前缀与后缀配合使用可以使触发器监听桶中不同目录中的内容，例如[图3]中触发器将监听testdir目录中以.png结尾的文件。
   
   - 事件源触发器分两大类：
     - ObjectCreated ：监听包括上传，更新，复制等操作。
     
     - ObjectRemoved：监听删除对象操作。
      
   
   - 事件源存储桶：触发器监听桶，只有当其中对象内容发生变化时才能触发工作流执行。
    
   
   
4. 上传对象触发工作流执行 
   完成触发器配置后，工作流已经跟触发器关联，事件源存储桶中监听对象的变化将会触发工作流的执行，这一步我们将上传符合监听事件的对象。
   在事件源存储桶中上传.png结尾的文件。
   回到DWR工作流列表界面，单击**"运行记录"**查看工作流执行结果。
   图4查看工作流运行结果   
   ![](https://support.huaweicloud.com/bestpractice-dwr/zh-cn_image_0000001441792913.png "点击放大")
   输出值与测试算子的输出结果相同，表示算子已经完成测试，具备发布条件。具备发布条更重要的是动态参数的存在让用户拥有了与算子交互的接口。
   ![](https://support.huaweicloud.com/bestpractice-dwr/public_sys-resources/note_3.0-zh-cn.png)
   动态参数中的桶名称、对象是由用户输入的参数，而触发器中的桶名称、对象则是面向触发器使用，二者不可混淆。
   
   
 
