首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Apriso开发葵花宝典之二Process Builder调试篇

Apriso开发葵花宝典之二Process Builder调试篇

作者头像
李英杰同学
发布于 2023-09-02 00:31:00
发布于 2023-09-02 00:31:00
1.2K0
举报
文章被收录于专栏:智能制造社区智能制造社区

本文作者陈捌华,感谢捌老师倾情奉献。

概述

Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。

本文介绍几个在常规培训学习中容易被忽略,但又能有效提升开发效率的Process builder调试技巧。

页面执行流程

在开始代码调试前,每个开发者首先需要了解和熟悉Process builder页面处理流程:

Action链(Next Action):

当需要多步骤的后台验证或处理时,请确保将验证和处理操作划分为专用的(更细粒度的)标准操作。接下来必须使用Next Action特性来确定如何以及何时执行每个验证或处理操作。

使用Next Action特性将确保您的业务逻辑中使用的标准操作具有更好的可重用性。

Action优先级:

Process builder中有多个不同的Action源,在选择要执行的Action之前(按顺序)对所有这些源进行分析。提交Screen后,按照以下顺序确定下一步处理:

  • Header中的导航浏览路径
  • 来自界面视图(包括弹出视图)的操作
  • Go To Screen外部输出
  • Header视图的的Action动作
  • Header视图中的搜索框事件
  • 从界面中设置的默认Action
  • 如果以上都不是,则刷新界面

调试视图介绍

Process builder中提供了server mode和client mode两种页面运行模式,两种模式页面渲染模式不同,同样调试视图、debug tree等也存在差异(详细差异可能在其他文档中进行介绍)。

  • Step:只有在执行process或者Operation时出现,包含所有执行过程的步骤,在调试时可以选中其中一个step作为运行起点
  • Style context: 允许查看正在测试的实体将如何在一个可用上下文中来呈现的
  • Enable Remote Debugging:只在client mode出现,允许进行remote debugg远程调试

会话变量Tab页:

会话变量选项卡包含一个Grid清单,其中列出了正在执行的步骤或屏幕使用的所有会话变量。它包含例如,列-名称和值。变量颜色的含义:

  • 蓝色 - 系统变量
  • 黑色 - 会话变量
  • 灰色 - 不可编辑的变量
  • 粉红色 - 变量的修改值。在执行Step时,用户可以通过在变量的value字段中输入一个新值来修改可编辑变量的值。修改后的值将以粉红色显示,直到用户单击“更新会话变量”。

如果输入的任何值是不可接受的,则单击“更新会话变量值”按钮时将显示错误消息。更新的会话变量保存为用户个性化。每个用户、操作和步骤的个性化设置是不同的。

在Client mode下,还允许进行变量的导出、导出和新增、删除。

搜索框:

可以通过选择适当的复选框按名称和/或值进行搜索。选中复选框后,搜索算法将遍历所有树节点,只标记与输入值匹配的节点。第一个匹配节点的父节点会自动展开,节点本身也会被标记。

右/左箭头按钮可用于导航到下一个/上一个匹配节点。导航到下一个匹配节点总是影响所有父节点的展开(然后只标记匹配节点)。使用这个搜索功能,可以方便地跟踪会话变量在整个运行周期中的输入输出和值变化。

调试树:

  • 如果实体执行正确,则节点显示为绿色;如果出现错误,则节点变为红色
  • 双击任何节点都会自动将您转移到所选实体
  • 执行特定函数所需的时间显示在实体名称旁边
  • “操作名称”旁边显示“操作”和“子操作”的修订号
  • 当选择树上的输入/输出时,它的属性(主要是它的值)将显示在树下面的properties窗口中

而在client mode运行时:

调试树显示在屏幕流(屏幕、视图和操作)期间计算的所有实体的屏幕。客户端模式下可以出现的条目:

  • 初始化-连接到屏幕的初始化操作
  • 加载-连接到屏幕的加载操作
  • Display—显示视图时执行的操作部分
  • 调用——异步调用的操作(详细信息请参见使用AJAX)。
  • 计算——提交视图时执行的部分操作
  • 操作-如果操作链接到操作,则可能包含操作
  • 屏幕名称旁边显示的时间信息如下:
  • 客户端时间-屏幕显示所需的完整时间
  • 服务器时间——在屏幕显示期间执行的操作次数的总和(例如,初始化、加载和显示操作)

User fomula函数快速设置输入参数

1、在调试树中选中对应函数节点,右键点击“Copy Input values”即可以获取当前函数在运行时的输入参数值;

2、打开Function编辑框后,选中“从剪贴板粘贴”即可完成输入参数的赋值

AJAX调试

▶第一步,通过浏览器调试工具,定位到Ajax调用的请求

▶第二步,选中inputs参数,右键选中“复制object”

▶第三步,Process builder中打开Operation,并选择“高级测试运行”运行,点击“从剪贴板粘贴测试值”,点击“可以”进行测试运行

获取GRID/SQL Query函数运行时SQL语句

在调试树中选中Grid或者SQL Query函数节点,右键点击“复制SQL”即可以获取当前Grid中使用的SQL语句:

Ctrl+V复制结果,复制结果可以粘贴到相应的SQL开发工具中进一步进行调试和问题排查。

Developer Tools视图

Process builder中内置了Developer Tools视图视图,在测试运行模式下,可以通过菜单视图—>“HTML 源”来打开,这个和Chrome浏览器的开发者工具是一样的,可以用于页面调试。

Javascript调试

一般浏览器都内置了调试工具,内置的调试工具可以开始或关闭,严重的错误信息会发送给用户。我们就可以设置断点 (代码停止执行的位置), 且可以在代码执行时检测变量。

浏览器启用调试工具一般是按下 F12 键,并在调试菜单中选择 "Console" 。主要的几个调试方法有:

1、浏览器控制台console调试

  • 使用 console.log() 方法在调试窗口上打印 JavaScript 值

console.log ('普通信息'),可以输出文本、指定id的DOM对象、指定对象

console.info ('提示性信息')

console.warn ('警示信息')

console.error ('错误信息')

  • console.dir(),输出打印对象的详细键值对信息,若该对象为HTML元素,则该元素的DOM的表达式会按DOM树输出。这个方法是我经常使用的,比for in方便了很多,可以详细查对象的方法
  • console.assert(),对输入的表达式进行断言,只有表达式为false时,才输出相应的信息到控制台。当你想代码满足某些条件时才输出信息到控制台,那么你大可不必写if或者三元表达式来达到目的,那console.assert()就是最好的选择。
  • console.time(),console.timeEnd(),可以查看一段代码执行的耗时情况。在使用的时候这两个方法需要传递同一个参数,若不传,则为“default”
  • ChromejQueryjQuery的选择器,也就是说你可以用加上熟悉的css选择器来选择DOM节点。

(selector)是对ocument.querySelectorAll() 的封装。返回的是所有满足选择条件的元素的一个集合。

  • Copy,可以将在控制台获取到的内容复制到剪贴板。注意:他不依附于任何全局变量比如window,所以其实在JS代码里是访问不了这个copy方法的,所以从代码层面来调用复制功能也就无从谈起。但愿有天浏览器会提供相应的JS实现吧~这样我们就可以通过js代码进行复制操作而不用再依赖Flash插件了。
  • keys,values,keys:返回传入对象所有属性名组成的数组,values:返回所有属性值组成的数组
  • monitor,unmonitor,monitor(function),它接收一个函数名作为参数,比如function a,每次a被执行了,都会在控制台输出一条信息,里面包含了函数的名称a及执行时所传入的参数。而unmonitor(function)便是用来停止这一监听。
  • debug,undebug,接收一个函数名作为参数。当该函数执行时自动断下来以供调试,类似于在该函数的入口处打了个断点,可以通过debugger来做到,同时也可以通过在Chrome开发者工具里找到相应源码然后手动打断点。而undebug 则是解除该断点

2、设置断点:

在调试窗口中,你可以设置 JavaScript 代码的断点。在每个断点上,都会停止执行 JavaScript 代码,以便于我们检查 JavaScript 变量的值。在检查完毕后,可以重新执行代码(如播放按钮)。

3、debugger 关键字

debugger 关键字用于停止执行 JavaScript,并调用调试函数。这个关键字与在调试工具中设置断点的效果是一样的。可以在需要断点的语句前加入debugger关键字设置断点,如果没有调试没有打开,debugger 语句就不会起效。

远程调试

远程调试只有在Client 模式下可以使用,此功能允许在Process Builder之外运行屏幕时进行调试,即在浏览器中(通过在DELMIA Apriso Portal中启动的FlexPart)或在移动设备上(通过在DELMIA Apriso移动应用程序中启动的FlexPart)。使用方法如下:

1、开始一个屏幕的测试运行。

2、登录Portal或移动设备,并运行同一个Screen的实例。

3、选中“启用远程调试”框。

4、从下拉菜单中选择要显示结果的远程会话(由员工姓名(时间)、主机名、用户平台、浏览器版本标识,例如System Administrator(10:57:42)、hostname.com、Windows 10、Chrome 76.0)。

调试树将实时显示远程会话的结果,其他信息和错误显示在Debug Results选项卡的Properties部分中。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智能制造社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Apriso 开发葵花宝典之七 Action Scripts 篇
Process builder 是 Delmia Apriso 中主要的业务流程管理工具,也是DELMIA 更广泛的 Apriso 制造运营管理解决方案的核心应用程序, Process Builder 允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
李英杰同学
2023/09/02
6881
Apriso 开发葵花宝典之七 Action Scripts 篇
Apriso 开发技巧葵花宝典(1)
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
李英杰同学
2023/09/02
6570
Apriso 开发技巧葵花宝典(1)
Apriso 开发葵花宝典之六 Client Mode 篇
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
李英杰同学
2023/09/02
7320
Apriso 开发葵花宝典之六 Client Mode 篇
Apriso 开发葵花宝典之三 Process builder HTML 篇
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
李英杰同学
2023/09/02
1K0
Apriso 开发葵花宝典之三 Process builder HTML 篇
Apriso开发葵花宝典之九 Project篇
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
李英杰同学
2024/02/28
4490
Apriso开发葵花宝典之九 Project篇
Apriso开发葵花宝典之八Portal Session篇
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
李英杰同学
2024/02/28
8470
Apriso开发葵花宝典之八Portal Session篇
Apriso 开发葵花宝典之传说的完结篇GPM
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
李英杰同学
2024/02/28
6480
Apriso 开发葵花宝典之传说的完结篇GPM
Apriso 开发葵花宝典之四 CSS 篇
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
李英杰同学
2023/09/02
4530
Apriso 开发葵花宝典之四 CSS 篇
Apriso 开发葵花宝典之五 Process Builder JavaScript 篇
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
李英杰同学
2023/09/02
9700
Apriso 开发葵花宝典之五 Process Builder JavaScript 篇
使用 Chrome Devtools 调试您的 Node.js 程序
俗话说:“工欲善其事,必先利其器”,调试是每一个开发人员都要遇到的问题,选择一个合适的调试工具也尤为重要。 在 Node.js 开发过程中除了万能的 console.log 之外,本节介绍一个 Node.js 与 Chrome Devtools 结合的调试工具,以后你可以选择使用浏览器来调试 Node.js 应用程序了。
五月君
2020/12/30
3.4K0
使用 Chrome Devtools 调试您的 Node.js 程序
Chrome浏览器调试技巧大全!
注:本文测试、截图均为Edge浏览器(内核是Chromium),浏览器内核可了解《有哪些浏览器/内核?[1]》
zz_jesse
2024/07/04
5300
Chrome浏览器调试技巧大全!
React Native程序调试
在做React Native开发时,少不了的需要对React Native程序进行调试。调试程序是每一位开发者的基本功,高效的调试不仅能提高开发效率,也能降低Bug率。 Developer Menu Android模拟器: 可以通过Command⌘ + M 快捷键来快速打开Developer Menu。也可以通过模拟器上的菜单键来打开。 iOS模拟器: 可以通过Command⌘ + D快捷键来快速打开Developer Menu。 在真机上开启Developer Menu: 在真机上你可以通过摇动手机来开启
xiangzhihong
2018/01/26
4.1K0
解放双手:如何在本地调试远程服务器上的Node代码
谈到node断点调试,目前主要有三种方式,通过node内置调试工具、通过IDE(如vscode)、通过node-inspector,三者本质上差不多。本文着重点在于介绍 如何在本地通过node-inspector 调试远程服务器上的node代码。
IMWeb前端团队
2019/12/04
1.9K0
解放双手:如何在本地调试远程服务器上的Node代码
解放双手:如何在本地调试远程服务器上的Node代码
本文主要介绍了如何使用Node.js内置的调试器,包括如何启动调试器、设置断点、查看变量、单步执行、进入函数、查看调用栈、设置监视点、查看调用堆栈、调试异步代码、使用console.log、使用source-map-support、使用debugger语法进行调试等。同时还介绍了如何通过IDE或者命令行进行调试,以及调试过程中常见的问题和解决方法。
IMWeb前端团队
2017/12/29
3K0
解放双手:如何在本地调试远程服务器上的Node代码
【调试】258- 前端调试各种收集-断点篇
当我第一次知道这种东西,我也惊呆了,居然还有这种操作,实在强大到没朋友,从此爱上调试,按时下班。
pingan8787
2019/07/25
2.5K0
【调试】258- 前端调试各种收集-断点篇
pycharm如何调试代码_pycharm怎么分段运行代码
  (2)已经创建了一个python工程并且添加了内容,具体参考: Getting Started tutorial
全栈程序员站长
2022/09/27
2.6K0
pycharm如何调试代码_pycharm怎么分段运行代码
移动端调试技巧与工具:构建无缝的开发体验
在移动应用开发过程中,调试是不可或缺的一部分。了解如何有效地调试移动应用,可以提高开发效率并改善应用的质量。本文将深入探讨移动端调试的关键技巧和工具,为您提供一份全面的指南,并提供带有实际代码示例的技巧,以帮助您构建更出色的移动应用。
海拥
2023/09/19
6010
移动端调试技巧与工具:构建无缝的开发体验
JavaScript 调试
通常,如果 JavaScript 出现错误,是不会有提示信息,这样你就无法找到代码错误的位置。
陈不成i
2021/07/19
4800
万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍
万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍
猫头虎
2024/05/24
3.2K0
万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍
14个你可能不知道的JavaScript调试技巧
以更快的速度和更高的效率来调试JavaScript 熟悉工具可以让工具在工作中发挥出更大的作用。尽管江湖传言 JavaScript 很难调试,但如果你掌握了几个技巧,就能用很少的时间来解决错误和bug。 文中已经列出了14个你可能不知道的调试技巧,但是可能需要你牢记在心,以便在下次需要调试JavaScript代码时使用! 一起来看 大多数技巧都适用于Chrome控制台和Firefox, 尽管还有很多其他的调试工具,但大部分也适用。 1. debugger 除了console.log, debugger是我们
用户1257393
2018/01/30
1.3K0
14个你可能不知道的JavaScript调试技巧
推荐阅读
相关推荐
Apriso 开发葵花宝典之七 Action Scripts 篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档