在增强的故事中调试脚本
学习目标
描述调试脚本的流程。
使用浏览器开发人员工具调试脚本
**业务场景:**由于你在故事中使用了脚本,因此你希望通过检查浏览器的开发人员工具来查看其执行方式。
模拟步骤
以下练习模拟 SAP Analytics Cloud 中的高级模式,并引导您完成 SAP Analytics Cloud 故事的调试场景。
**任务流:**在本练习中,您将:
从故事访问 Chrome 开发者工具
检查下拉框的值
选择下拉值时检查已执行的脚本
练习:开始练习(SAP 官方交互式练习)
脚本的调试选项
调试脚本
本演示将介绍使用本课程中使用的场景之一,从开始到结束整个调试过程。视频结束后,你会看到,我们已经为您总结了视频中涵盖的关键主题和理论。
视频:本节含 SAP 官方视频(视频 ID
1_2rupgljr),需在 learning.sap.com 在线观看。
写入控制台
如果要了解代码的哪个部分已处理或变量包含哪个值,则可以在设计时使用 console.log(argument); 命令。参数可以是从简单字符串到复杂数组的任意数据类型。
在运行时,打开浏览器开发人员工具栏并检查控制台标签。使用过滤器功能专注于信息类型条目。

脚本执行时,会将参数写入控制台日志。
此方法可能适用于小型场景。但是,在更大程度上,这种方法会变得繁琐,尤其是在故事高效工作时,应移除不需要的控制台日志。
在 Web 浏览器的开发工具中调试脚本
要查看你在故事中编写的脚本,请运行故事并打开 Web 浏览器的开发工具。
选择 "源 "选项卡。
在文件树的顶层,搜索以 sandbox.worker.main 开头的条目。
在" 分析应用 "下,找到具有故事名称的文件夹。
故事中执行的脚本位于此文件夹中(脚本至少需要运行一次才能显示在列表中)。

脚本名称遵循特定模式:<WIDGET_NAME>.<FUNCTION_NAME>.js。脚本被分组到一个名为 <STORY_NAME> 的文件夹中。
脚本名称的元素具有以下含义:
键值 |
描述 |
|---|---|
STORY_NAME |
在保存故事时,为故事设置的名称 |
WIDGET_NAME |
故事中微件或元素的名称。 |
FUNCTION_NAME |
保存所编写脚本的函数或事件处理程序的名称。 |
例如,如果为 Page_1 的 onInitialization 事件定义脚本,则 WIDGET_NAME 会自动设置为 Page_1。
调试模式的 URL
在启用了调试模式的运行时,故事的有效 URL 如下所示:http://<HOST>:<PORT>/sap/fpa/ui/app.html?tenant=<TENANT_NAME>#;mode=present;view_id=appBuilding;appId=<APPLICATION_ID>&debug=true。
注意
如果 debug 参数收到的值不同于 true 或根本不接收任何值,则会将其忽略并且不启用调试模式。
调试模式下的脚本
要显示当前显示的脚本是调试模式下的脚本,请将附录"-dbg"添加到脚本名称中。

调试模式选项
在下图中,您可以看到:
手动断点
" 恢复脚本执行 "按钮
本地脚本变量

断点
在调试中,可以添加手动断点。按照以下步骤在脚本中设置断点:
打开要在执行期间暂停的脚本,然后在开发工具中打开的脚本的左侧,单击要暂停脚本的行号。 将出现一个蓝色标记,突出显示行号。这表示下次执行脚本时,脚本在此处暂停。
可选:在同一脚本中添加更多断点,以在运行时期间在不同点暂停脚本。
要重置断点,请单击要删除的标记。下次运行脚本时,脚本的执行不会在此时停止。
使用调试器;
在调试模式下,可以在脚本中使用 debugger; 语句。
此语句模拟在脚本中创建断点。您不需要在必须调试的脚本中显式设置断点,但只要解释脚本中的 debugger; 语句,该脚本就会自动停止其执行。
这样,你可以在设计时检查运行时必须暂停脚本的点。
脚本变量值的查找位置
当调试程序在断点中暂停时,您可以在本地部分的源选项卡中找到所有本地脚本变量。

全局脚本变量可以添加到 控制台 标签。您必须手动输入要查看的内容。语法遵循以下规则:this.$$.NAMEOFVARIABLE。
