一.项目背景
基于年底大部分公司都会在年会上举行抽奖的活动作为年会最后的环节,为此我实现了一个简单的抽奖项目,为的是能够满足年会上的抽象环节。
项目实现了管理员的登录和注册页面,活动中心页面,奖品界面,人员管理界面和注册普通用户界面,注册普通用户的界面是在管理员登录后注册的,毕竟抽奖一般都是企业管理员发起的,不需要对普通用户进行繁琐的注册。
管理员发起了抽奖活动后,中奖者会展现在网页,并且还会通过邮箱的方式发送到中奖者中。
二.项目功能
- 用户注册功能:普通用户和管理员用户的注册都是在同一个接口,但是管理员注册的前端页面中有独有的逻辑来判断当前注册用户是管理员,当是管理员时才会需要添加输入的密码;对用户的敏感信息使用了hutool工具进行加密
- 管理员用户登录功能:普通用户不存在管理员登录功能,该功能只针对管理员,普通用户只是用来进行作为抽奖被选中的人进行凑数的;管理员可以通过邮箱的验证码登录或者密码登录;验证码是通过redis来进行设置定时的缓存来发送的,保证验证码的时效性;登录成功后会生成对应的JWT令牌。
- 获取人员列表功能:获取所有人员列表的信息,方便抽奖选取参与抽奖的人
- 奖品功能:创建奖品,并能看到创建的所有奖品
- 活动功能:创建活动,并能选择参与抽奖活动的人和被选择的奖品
- 抽奖功能:前端进行抽奖,获奖的人和奖品将通过后端进行落库,并处理一系列异常情况,为了能够保证处理异常情况使用RabbitMQ来一条一条的处理请求。
三.测试计划
1.项目整体的测试用例

2.功能手动的测试
1)登录
正常密码登录:

正常验证码登录:


2)注册
正常管理员注册:

普通用户注册:

3)活动中心界面





3.自动化测试
- 引入的依赖:
<dependencies>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.8.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
- 代码架构:

- Selenium自动化测试: 首先管理员进行注册操作完后,再进行登录,视频中存在注册和登录的全部测试用例测试,而奖品、活动、人员和抽奖功能都是成功的测试用例进行测试。登录后,先对奖品测试,再对人员和活动测试,最后进行抽奖页面的测试,最后关闭浏览器。
- 自动化测试视频:
Selenium自动化测试过程
四.测试总结
简单介绍了项目背景和项目的简单功能,自动化测试使用的是Selenium进行的,调用其大量API进行了对项目的注册和管理员登录进行了大量的自动化测试,也对其他功能进行了部分的自动化测试,过程中加了一些强制等待是为了让自动化测试的过程更明显。

667

被折叠的 条评论
为什么被折叠?



