虽然我们在前面的步骤中添加了一个基本的测试覆盖率,但是我们似乎不小心破坏了我们的应用程序,因为它不再显示价格到我们的发票上。我们需要调试这个问题,并在有人发现之前修复它。

幸运的是,SAPUI5提供了一些调试工具,我们可以在应用程序中使用它们来检查应用程序逻辑,而现代浏览器的开发工具也相当不错。我们现在来检查一下根本原因。

Preview

The diagnostics window

Coding

You can view and download all files at Walkthrough - Step 30.

webapp/view/InvoiceList.view.xml

<mvc:View
controllerName="sap.ui.demo.walkthrough.controller.InvoiceList"
xmlns="sap.m"
xmlns:mvc="sap.ui.core.mvc">
<List
id="invoiceList"
class="sapUiResponsiveMargin"
width="auto"
items="{
path : 'invoice>/Invoices',
sorter : {
path : 'ShipperName',
group : true
}
}">
<headerToolbar>
<Toolbar>
<Title text="{i18n>invoiceListTitle}"/>
<ToolbarSpacer/>
<SearchField width="50%" search="onFilterInvoices"/>
</Toolbar>
</headerToolbar>
<items>
<ObjectListItem
title="{invoice>Quantity} x {invoice>ProductName}"
number="{
parts: [{path: 'invoice>ExTendedPrice'}, {path: 'view>/currency'}],
type: 'sap.ui.model.type.Currency',
formatOptions: {
showMeasure: false
}
}"
numberUnit="{view>/currency}"
numberState="{= ${invoice>ExtendedPrice} > 50 ? 'Error' : 'Success' }">
<attributes>
<ObjectAttribute text="{
path: 'invoice>Status',
formatter: '.formatter.statusText'
}"/>
</attributes>
</ObjectListItem>
</items>
</List>
</mvc:View>

我们在number属性的绑定中引入了一个打印错误,以模拟经常出现的错误;我们没有使用“invoice>ExtendedPrice”,而是使用'invoice>ExTendedPrice'。现在我们调用这个应用程序并注意到价格实际上是缺失的。按CTRL + ALT + SHIFT + S,打开SAPUI5支持诊断工具,检查app。

请注意:如果你使用的是谷歌Chrome浏览器,你可以安装UI5 Inspector插件。有了这个插件,您可以轻松调试基于SAPUI5或openui5的应用程序。有关更多信息,请参见UI5 Inspector。

除了关于应用程序的技术信息和类似于浏览器的developer tools控制台的跟踪之外,在这个对话框中还有一个非常方便的工具来检查这些错误。单击右侧的展开符号打开选项卡控制树。

左边显示SAPUI5控件的层次树,右边显示所选控件的属性。如果我们现在选择树的第一个ObjectListItem控件,并转到右边的Binding Infos选项卡,我们可以看到number属性的绑定路径被标记为无效。我们现在可以纠正视图中的错误,价格应该再次出现在发票列表中。

有时错误并不容易发现,您实际上需要使用浏览器的工具调试JavaScript代码。出于性能原因,SAPUI5文件是在一个缩小的版本中提供的,这意味着所有可能的变量名都会被缩短,注释也会被删除。

这使得调试更加困难,因为代码可读性差得多。您可以通过添加URL参数sap-ui-debug=true或按CTRL + ALT + SHIFT + P并在显示的对话框中选择Use debug sources来加载调试源。在重新加载页面之后,您可以在浏览器开发工具的Network选项卡中看到,现在加载了许多带有-dbg后缀的文件。这些是源代码文件,包括评论和应用程序的未压缩代码以及SAPUI5工件。

有关SAPUI5支持工具的更详细说明,请参阅故障排除教程Troubleshooting

如果您遇到了问题,需要帮助完成一些开发任务,您还可以在sapui5相关论坛(例如SAP社区SAP Community或Stack Overflow Stack Overflow上发布问题。

Conventions

  按照SAPUI5惯例,未压缩的源文件以*-dbg.js结尾

Parent topic: Walkthrough

Previous: Step 29:
Integration Test with OPA

Next: Step 31:
Routing and Navigation

Related Information

Debugging

Diagnostics

Technical
Information Dialog

UI5-文档-4.30-Debugging Tools的更多相关文章

  1. Spring Boot文档

    本文来自于springboot官方文档 地址:https://docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot参考 ...

  2. 【Win10 开发】读取PDF文档

    关于用来读取PDF文档的内容的API,其实在Win8.1的时候就有,不过没关系,既咱们讨论的是10的UAP,连同8.1的内容也包括进去,所以老周无数次强调:把以前的内容学好了,就可以在不学习任何新知识 ...

  3. rfc 标准文档目录

    1.  xmpp的文档 (3920版本) https://tools.ietf.org/html/rfc3920 2. MQTT 3. SIP

  4. MongoDB实战读书笔记(二):面向文档的数据

    1 schema设计原则 1.1 关系型数据库的三大设计范式 第一范式(1NF)无重复的列 第二范式(2NF)属性完全依赖于主键 [ 消除部分子函数依赖 ] 第三范式(3NF)属性不依赖于其它非主属性 ...

  5. Linux企业级项目实践之网络爬虫(30)——通过查阅RFC文档扩充更加复杂的功能

    HTTP是一种很简单的请求.响应式协议,客户端发送一个请求.服务器返回一个响应.HTTP 1.1 版本规范由 RFC2616 定义.了解了 HTTP请求.响应消息在TCP数据流中的格式,很容易使用纯 ...

  6. 资料收集:学习 Linux/*BSD/Unix 的 30 个最佳在线文档

    文章转自:https://linux.cn/article-10311-1.html 手册页(man)是由系统管理员和 IT 技术开发人员写的,更多的是为了作为参考而不是教你如何使用.手册页对于已经熟 ...

  7. 30页软件测试人面试宝典文档资料,助你拿下了百度、美团、字节跳动、小米等大厂的offer【内含答案】

    前言:看了一下桌边的日历,新的6月,已经过去5天了.明天又是周六了,大家准备怎么度过呢?趁着大家周末给大家分享一个软件测试工程师面试题汇总. 拿到大厂的offer一直是软件测试朋友的一个目标,我是如何 ...

  8. 无法安装 VMware Tools。尝试访问安装 VMware Tools 所需的图像文件“/usr/lib/vmware/isoimages/linuxPreGlibc25.iso”时出错: 2 (No such file or directory)。请参考产品文档或知识库文章 2129825,了解关于如何获取该客户机操作系统的 VMware Tools 软件包的详细信息。

    无法安装 VMware Tools.尝试访问安装 VMware Tools 所需的图像文件"/usr/lib/vmware/isoimages/linuxPreGlibc25.iso&quo ...

  9. 【2016.3.30项目技术记录】]VS2010自动生成MFC单文档框架程序的修改:去除属性框,在CViewTree类中添加鼠标单击响应

    转自http://blog.csdn.net/yanfeiouc2009/archive/2010/06/07/5653360.aspx 手头上有个东西要用到单文档,由于想省事,直接用VS2010做了 ...

  10. ag 命令的帮助文档

    安装 the silver searcher 在各大平台上都可以从软件库直接安装.除了 Debian/Ubuntu 外,其他系统使用的包名都是一样的. MacOS: brew install the_ ...

随机推荐

  1. ORACLE expdp/impdp详解

    ORCALE10G提供了新的导入导出工具,数据泵.Oracle官方对此的形容是:Oracle DataPump technology enables Very High-Speed movement ...

  2. hbase 知识点

    hbase 教程:http://www.yiibai.com/hbase/ mac下hbase安装:https://www.jianshu.com/p/510e1d599123 HBase是建立在Ha ...

  3. django admin model使用技巧

    自定义记录返回值班 和 表名 class Guys(models.Model): first_name = models.CharField(max_length=30) last_name = mo ...

  4. java Map实例

    此段资料在自于<黑马程序员_毕向东_Java基础视频教程第16天-06-集合(Map练习)> HashMap 如果对象可能会产生很多对象,可能就会需要存储,就有可能会存到hashSet(哈 ...

  5. 无需公众号PHP微信登录微信授权微信第三方登录微信开发php开发

    无论是个人还是公司,无需申请公众号,无需申请微信开放平台,即可实现手机网站和PC网站的微 信登录!!! 正常的微信登录是这样的: 1.手机版网站做微信登录,需要申请一个认证公众号,认证不仅需要公司营 ...

  6. 异步FIFO格雷码与空满

    在传递读写时钟域的指针使用格雷码来传递,如何把二进制转换为格雷码,格雷码是如何判断读空写满呢? 二进制码转换成二进制格雷码,其法则是保留二进制码的最高位作为格雷码的最高位,而次高位格雷码为二进制码的高 ...

  7. C/C++基础----顺序容器

    通常没有特别的原因,用vector. list和forward_list有额外的内存开销,如果有很多小元素,不要使用. 如果只在读取输入时需要在容器中间位置插入元素,随后需要随机访问. 1确定是否真正 ...

  8. Spring 注解方式 实现 IOC 和 DI

    注:以下所有测试案例(最后一个除外)的测试代码都是同一个: package cn.tedu.test; import org.junit.Test; import org.springframewor ...

  9. HTML5: SVG (可缩放矢量图形)

    ylbtech-HTML5: SVG (可缩放矢量图形) 可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式.它由万维网联盟制定,是一个开放标准. 1. ...

  10. selenium java-2 chrome driver与对应版本

    chrome driver下载地址:https://npm.taobao.org/mirrors/chromedriver driver与chrome的对应关系: 1.进入最新的driver,查看no ...