附件1:

附件2:

将附件1和附件2发送给deepseek,且输入对话框的文字:

然后进入禅道用户登录 - 禅道

### **缺陷报告:登录功能无响应缺陷**  
**提交平台**:禅道缺陷管理系统  
**发现环境**:测试环境 `https://hmshop-test.itheima.net/Home/user/login.html`  

---

### 1. 缺陷基础信息  
| **字段**       | **内容**                 |
|----------------|--------------------------|
| Bug标题        | 登录页面输入正确验证码后点击登录无响应 |
| 当前指派       | 前端开发工程师@张明       |
| Bug类型        | 功能缺陷                 |
| 严重程度       | 严重(S2)                |
| 优先级         | 紧急(P0)                |
| 关联用例       | TC-LOGIN-F001           |
| 测试设备       | Chrome 115/Win11        |

---

### 2. 重现步骤  
```mermaid
graph LR
    A[访问登录页] --> B[输入手机号]
    B --> C[获取验证码]
    C --> D[输入正确验证码]
    D --> E[点击登录按钮]
    E --> F[页面卡死无响应]
```

**详细步骤**:  
1. 打开测试环境登录页  
   `https://hmshop-test.itheima.net/Home/user/login.html`  
2. 在手机号输入框输入已注册号码:`18800000001`  
3. 点击"获取验证码"按钮 → 成功收到验证码`123456`  
4. 在验证码输入框输入`123456`  
5. 点击"登录"按钮  
6. **实际结果**:  
   - 页面卡顿3秒  
   - 控制台报错`Uncaught TypeError: Cannot read properties of null`  
   - 未跳转首页,仍停留在登录页  

---

### 3. 预期结果  
```mermaid
graph LR
    A[点击登录] --> B[跳转至首页]
    B --> C[显示用户昵称]
```

1. 成功跳转至用户首页  
2. 页面顶部显示用户昵称"测试用户_01"  
3. 控制台无JavaScript报错  

---

### 4. 缺陷证据  
**附件列表**:  
1. [屏幕录制视频](attach/login_bug.mp4)  
   - 00:05 输入手机号  
   - 00:12 获取验证码  
   - 00:25 输入验证码  
   - 00:30 点击登录后页面卡死  

2. 控制台错误截图:  
   ![控制台报错](console_error.png)  
   ```javascript
   Uncaught TypeError: Cannot read properties of null (reading 'value')
       at HTMLButtonElement.<anonymous> (login.js:47)
   ```

3. 网络请求分析:  
   ```mermaid
   sequenceDiagram
       前端->>后端: POST /api/login (200 OK)
       后端-->>前端: {code:200, data:token}
       前端->>前端: 执行跳转时JS报错
   ```

---

### 5. 缺陷分析  
| **维度**       | **结论**                 |
|----------------|--------------------------|
| 影响范围       | 所有手机验证码登录用户   |
| 复现概率       | 100% (5/5次)            |
| 根本原因       | login.js第47行未做空指针判断 |
| 规避方案       | 暂时使用第三方登录       |

**代码定位**:  
```javascript:login.js
// 问题代码
const userInfo = document.getElementById('user-info').value; // 第47行
```

---

### 6. 处理建议  
1. 增加空值安全校验:  
   ```javascript
   const userInfoEl = document.getElementById('user-info');
   const userInfo = userInfoEl ? userInfoEl.value : '';
   ```
2. 添加加载状态提示(防止用户重复点击)  
3. 补充单元测试用例:  
   ```javascript
   it('空用户信息时登录不报错', () => {
     mockElementById('user-info', null);
     expect(login()).not.toThrow();
   });
   ```

> **提交人**:资深测试工程师@李四  
> **提交时间**:2025-09-08 14:30  
> **版本**:Tpshop_V1.2.3

将ai生成的内容填写到下面的表格里

### 1. 缺陷基础信息  
| **字段**       | **内容**                 |
|----------------|--------------------------|
| Bug标题        | 登录页面输入正确验证码后点击登录无响应 |
| 当前指派       | 前端开发工程师@张明       |
| Bug类型        | 功能缺陷                 |
| 严重程度       | 严重(S2)                |
| 优先级         | 紧急(P0)                |
| 关联用例       | TC-LOGIN-F001           |
| 测试设备       | Chrome 115/Win11        |

**详细步骤**:  
1. 打开测试环境登录页  
   `https://hmshop-test.itheima.net/Home/user/login.html`  
2. 在手机号输入框输入已注册号码:`18800000001`  
3. 点击"获取验证码"按钮 → 成功收到验证码`123456`  
4. 在验证码输入框输入`123456`  
5. 点击"登录"按钮  
6. **实际结果**:  
   - 页面卡顿3秒  
   - 控制台报错`Uncaught TypeError: Cannot read properties of null`  
   - 未跳转首页,仍停留在登录页  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/85228.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/85228.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/85228.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考 系统架构设计师系列知识点之杂项集萃(89)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;88&#xff09; 第161题 下面可提供安全电子邮件服务的是&#xff08; &#xff09;。 A. RSA B. SSL C. SET D. S/MIME 正确答案&#xff1a;D。 解析&#xff1a; MIME&#xff08;Multi…

开源 Arkts 鸿蒙应用 开发(一)工程文件分析

文章的目的为了记录使用Arkts 进行Harmony app 开发学习的经历。本职为嵌入式软件开发&#xff0c;公司安排开发app&#xff0c;临时学习&#xff0c;完成app的开发。开发流程和要点有些记忆模糊&#xff0c;赶紧记录&#xff0c;防止忘记。 相关链接&#xff1a; 开源 Arkts …

protobuf遇到protoc-gen-go: unable to determine Go import path for “xxx“

问题 这个错误是因为 .proto 文件中缺少必需的 go_package 选项。在 protobuf 生成 Go 代码时&#xff0c;这是关键配置项。 pandaVM:~/dev/pb$ protoc --go_out. pb.proto protoc-gen-go: unable to determine Go import path for "pb.proto"Please specify eithe…

linux unix socket 通信demo

好&#xff0c;下面是已经整合完善的版本&#xff1a; ✅ 功能点&#xff08;你要求的全部实现了&#xff09;&#xff1a; Unix Domain Socket (SOCK_STREAM) 服务端先启动&#xff1a;正常通信 客户端先启动&#xff1a;等待服务端直到连接成功 客户端每秒发送一条消息 服务端…

近期GitHub热榜推荐

【1】fluentui-system-icons (HTML) &#x1f468;‍&#x1f4bb; 作者&#xff1a; microsoft &#x1f4e6; 仓库&#xff1a; microsoft / fluentui-system-icons &#x1f310; 链接&#xff1a; https://github.com/microsoft/fluentui-system-icons ⭐ 星标&#xf…

Jupyter 是什么?基于浏览器的交互式计算环境

&#x1f9e0; 一、Jupyter 是什么&#xff1f; Jupyter 是一个基于浏览器的交互式计算环境&#xff0c;名字取自Julia Python R 三种语言&#xff0c;但现在已支持超过40种编程语言。它最核心的功能是让你在同一个文档&#xff08;.ipynb 文件&#xff09;中混合编写代码、…

CTF解题:[NSSCTF 2022 Spring Recruit]弱类型比较绕过

一、漏洞背景介绍 在 CTF&#xff08;Capture The Flag&#xff09;竞赛和 Web 安全测试中&#xff0c;PHP 语言的类型比较漏洞是常见的考点。这类漏洞源于 PHP 的弱类型特性&#xff0c;即当使用进行比较时&#xff0c;PHP 会自动进行类型转换&#xff0c;从而导致一些不符合…

【SQL】存储过程 vs 普通 SQL

一、存储过程 vs 普通 SQL 的核心区别 先明确两者的本质&#xff1a; 普通 SQL&#xff1a;是直接执行的查询 / 操作语句&#xff08;如SELECT、INSERT&#xff09;&#xff0c;每次执行都要编译&#xff0c;逻辑写在应用端或直接运行。存储过程&#xff1a;是预编译并存储在…

Vue.js第一节

初识Vue、插值操作、属性绑定 初识&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>D…

前端打断点

这个按钮有个点击事件&#xff0c;然后点击这个js 即可进入到代码中 如果这时想打一些临时的表达式&#xff0c;可以按esc弹出console控制台&#xff0c; 右上角有可以使用的变量

Jmeter接口测试与性能测试

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 目前最新版本发展到5.0版本&#xff0c;需要Java7以上版本环境&#xff0c;下载解压目录后&#xff0c;进入\apache-jmeter-5.0\bin\&#xff0c;双击ApacheJMete…

如何利用大模型搭建本地知识库

要利用大模型搭建本地知识库&#xff0c;核心在于&#xff1a;构建高质量知识内容源、使用向量化技术实现语义检索、部署大语言模型以实现自然语言问答接口、设计本地知识库的数据更新机制、注重隐私与合规性控制。其中&#xff0c;使用向量化技术实现语义检索至关重要&#xf…

vscode连接不上服务器问题修复

原因&#xff1a;运维人员修复漏洞&#xff0c;升级了服务器openssh版本&#xff0c;导致无法新建连接连上vscode 操作&#xff1a; 1.删除云桌面上C:\Users\.ssh 路径下known_hosts文件&#xff1b; 2.设置免密登录 1&#xff09;执行 ssh-keygen -t rsa -C "your_em…

架构优化——submodule转为subtree

文章目录 背景subtree优势submodule切换到subtree脚本subtree使用切开发分支推送代码同步代码 背景 submodule过多&#xff0c;目前20个submodule需要切出20个分支&#xff0c;查看提交记录、切分支等使用起来麻烦。 团队深受困扰&#xff01; subtree优势 继承submodule的…

车载软件架构 --- 汽车中央控制单元HPC软件架构方案实例

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

零基础开始的网工之路第二十一天------性能优化

目录 一、性能优化概述 二、性能监控工具 1. 基础工具 2. 高级工具 三、子系统优化策略 1. CPU优化 2. 内存优化 3. 磁盘I/O优化 4. 网络优化 四、资源限制优化 1. ulimit 2. cgroups&#xff08;控制组&#xff09; 五、安全与注意事项 六、综合案例 案例1&…

【Google Chrome】谷歌浏览器历史版本下载

最新版&#xff1a; Chrome for Testing availability 谷歌浏览器 Chrome 最新版离线安装包下载地址 v137.0.7151.104 - 每日自动更新 | 异次元软件 历史版本&#xff1a; Download Google Chrome 105.0.5195.102 for Windows - Filehippo.com chrome浏览器,chrome插件,谷…

线性表实训(头歌实践平台课程答案详细解说)

C 和 C 支持 4 种基本数据类型&#xff08;整型、浮点型、字符型、布尔型&#xff09;和 3 种复合型数据类型&#xff08;数组、指针、结构&#xff09;。复合类型的数据对于数据结构至关重要&#xff0c;因为从某种程度上来说数据量的多少和数据结构的好坏决定了程序的复杂程度…

【前端】threeJS学习(长期更新)

简介 Three.js是用JavaScript编写的第三方库&#xff0c;用于实现3D功能&#xff0c;基于WebGL进行封装。 一个3D模型的建立主要由以下几个部分组成&#xff08;基本版&#xff09;&#xff1a; * 创建场景scene--相机camera--渲染器renderer--(灯光light)&#xff1b; *…

Linux系统--权限

大家好&#xff0c;上一次我们学习了关于Linux中的基础指令&#xff0c;那么我们今天来继续学习Linux的新的内容&#xff1a;权限。那么话不多说&#xff0c;我们开始今天的学习&#xff1a; 目录 Linux权限 1. Linux权限的概念 2. Linux权限管理 3. ⽂件权限值的表⽰⽅法…