稳定性测试出现jscrash:Cannot read property uuid of undefined问题分析报告
1 关键字 稳定性测试;jscrash;属性未定义 2 问题描述 设备版本:3.2.9.2 使用DevEco Testing工具进行系统遍历测试,在测试过程中com.ohos.note应用出现jscrash,Error message: Cannot read property uuid of undefined,详细信息如下图: 3 问题原因 3.1 正常机制 使用DevEco Testing工
1 关键字
稳定性测试;jscrash;属性未定义
2 问题描述
设备版本:3.2.9.2
使用DevEco Testing工具进行系统遍历测试,在测试过程中com.ohos.note应用出现jscrash,Error message: Cannot read property uuid of undefined,详细信息如下图:
3 问题原因
3.1 正常机制
使用DevEco Testing工具进行系统遍历测试,不会出现jscrash报错,测试全部通过。
3.2 异常机制
使用DevEco Testing工具进行系统遍历测试,在测试过程中com.ohos.note应用出现jscrash,报错信息:Cannot read property uuid of undefined。
4 解决方案
调用属性uuid前分别对其对象以及该属性进行是否未定义或为空的判断,判断通过再调用,如下图:
5 定位过程
1.首先根据通过jscrash问题定界脚本将该jscrash文件进行解析,解析后获取到对应报错应用名:com.ohos.note 以及问题栈名:getFolderText;
2.根据栈名getFolderText查找到问题代码行数,通过错误信息:Cannot read property uuid of undefined大致定位是因为uuid未定义导致抛异常,再进一步看该代码行,uuid是FolderData对象的属性,因此得出结论是因为对象FolderData未定义,导致了uuid未定义。
3.因此需要分别判断FolderData和uuid是否未定义或为空。
6 知识分享
使用ets开发应用的过程中,调用对象的方法或属性前,先对该对象、方法以及属性进行是否未定义的判断,防止应用抛异常。
更多推荐
所有评论(0)