博客系统项目测试(selenium+Junit5)

在做完博客系统项目之后,需要对项目的功能、接口进行测试,利用测试的工具:selenium以及Java的单元测试工具Junit进行测试,下面式测试的思维导图,列出该项目需要测试的所有测试用例:


测试结果(全部测试成功):


首先需要打开一个Maven项目(不多演示)
然后我们引入Junit5以及selenium的依赖:

 <!-- selenium-api与 selenium-java 版本要一致 --><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-api</artifactId><version>4.0.0</version></dependency><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.0.0-rc-2</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>5.8.2</version><scope>test</scope></dependency><dependency><groupId>org.junit.platform</groupId><artifactId>junit-platform-suite</artifactId><version>1.8.2</version><scope>test</scope></dependency>

接下来按照如下Suite顺序进行解释每个页面的测试代码:
测试一:测试博客注册界面:

测试思路:

首先打开注册界面,利用EdgeDriver驱动器:

测试流程是(利用Junit5的注解,对Test方法进行排序):
1:没有写注册账号
2:没有写注册密码
3:没有写注册确认密码
4:注册密码和确认密码不相同
5:注册成功,进行登录界面跳转
1:
2:

3:


4:

5:

测试二:测试博客登录界面:
测试思路:

首先打开登录界面:


测试流程:(利用Junit5的注解,对Test方法进行排序)
1:测试只输入账号,不输入密码
2:测试只输入密码,不输入账号
3:测试账号或密码错误
4:利用参数化,测试两个登录用户

1:


2:


3:


4:


测试三:测试用户列表页:

测试流程(利用Junit5的注解,对Test方法进行排序):

1:直接访问用户的博客列表页,未登录被拒绝访问
2:先登录账号,然后直接进入博客列表页,查看访问是否成功,顺便测试修改头像功能

1:

2:

测试四:测试写博客界面(利用Junit5的注解,对Test方法进行排序):
测试流程:

1:直接访问博客编辑页面,拒绝写博客,但不拒绝访问
2:先登录,在访问编辑博客页面,可以写博客
 

1:
2:



测试五:测试更新博客页面(利用Junit5的注解,对Test方法进行排序)
测试流程:
1:直接访问博客修改链接,未登录被拦截器拒绝访问
2:先登录用户,再访问修改博客页面,修改成功
 

1:


2:



测试六:测试博客详情页(利用Junit5的注解,对Test方法进行排序)
测试流程:

1:登录状态下看博客详情(由于上一个测试未退出登录,此时会话记录仍在,不需要再次登录)
2:未登录状态下博客详情

1:


2:


测试七:测试博客列表页(利用Junit5的注解,对Test方法进行排序)
测试流程:

1:未登录状态下测试博客列表页(由于上一个测试已经退出登录,借此直接访问未登录状态下的页面)
2:登录状态下测试博客列表页

1:
2:



测试八:关闭EdgeDriver驱动器,结束测试:

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

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

相关文章

Composer 安装与配置

Composer 是 PHP 领域中非常重要的一个工具&#xff0c;它作为 PHP 的依赖管理工具&#xff0c;帮助开发者定义、管理、安装项目所依赖的外部库。Composer 的出现极大地简化了 PHP 项目的构建和管理过程&#xff0c;使得开发者可以更加专注于代码的编写和功能的实现。 Compose…

linux下安装nacos2.2.0

1、获取下载地址并下载 1.1、打开nacos官网 1.2、找到对应版本&#xff0c;点进去 ## 1.3、复制地址 1.4下载 # 进入要安装的目录&#xff0c;cd /usr/local/src # 执行wget https://github.com/alibaba/nacos/releases/download/2.2.0/nacos-server-2.2.0.tar.gz2、 安装…

springboot数字化智慧城市管理系统源码

目录 ​系统开发环境 系统功能模块 系统特点 1、智慧城管移动端 2、案件受理 3、AI视频智识别分析 系统应用价值 1、提升案件办理效率 2、提升监管效能 3、提升行政执法水平 4、推进行政执法创新 智慧城管综合执法办案系统功能 现场移动执法 一般程序案件的网上办…

Modern C++:提升开发效率的语法糖详解与实例

引言 Modern C&#xff0c;特指自C11以来的一系列标准更新&#xff0c;引入了大量旨在增强语言表达力、提高代码清晰度与开发效率的新特性。其中&#xff0c;被称为“语法糖”的便捷语法构造尤为引人注目。这些语法糖不仅简化了程序员的日常编码工作&#xff0c;减少了出错几率…

D00178-变压器设备漏油的检测数据集338张含VOC标签

数据集一部分来自真实场景&#xff0c;由于真实场景下样本较少&#xff0c;共338张&#xff0c;采用VOC标注格式 完整链接见文末 完整链接&#xff1a; D00178-变压器设备漏油的检测数据集338张含VOC标签

今日arXiv最热大模型论文:清华大学发布,ChatGML又添新功能,集成“自我批评”,提升数学能力

引言&#xff1a;数学问题解决在大语言模型中的挑战 在当今的人工智能领域&#xff0c;大语言模型&#xff08;Large Language Models&#xff0c;LLMs&#xff09;已经在理解和生成人类语言方面取得了显著的进展。这些模型在文本摘要、问答、角色扮演对话等多种语言任务上展现…

现在租一个服务器多少一个月啊?

现在租一个服务器多少一个月&#xff1f;优惠价格低至3.8元1个月&#xff0c;租用一个月云服务器收费价格表&#xff1a;阿里云和腾讯云2核2G3M服务器优惠价格61元一年&#xff0c;折合一个月5元&#xff0c;京东云轻量云主机5.8元一个月&#xff0c;华为云服务器优惠价格3.8元…

CSS设置内外边距

目录 内边距&#xff08;paddingj&#xff09;&#xff1a; 前言&#xff1a; 设置内边距&#xff1a; 外边距&#xff08;margin&#xff09;&#xff1a; 前言&#xff1a; 设置外边距&#xff1a; 补充(折叠)&#xff1a; 内边距&#xff08;padding&#xff09;&#…

阿里云服务器怎么购买价格更便宜?优惠大揭秘!

阿里云服务器租用价格表2024年最新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核…

cesium 平滑显示billboard 透明度

描述&#xff1a;加载billboard的时候&#xff0c;要么是显示&#xff0c;要么是隐藏&#xff0c;不能平滑的显示&#xff0c;有个从不显示到显示的过程 解决方案&#xff1a;创建billboard的时候给一个color&#xff0c;颜色为(255,255,255)&#xff0c;透明度从0-1 let opaci…

A Learning-Based Approach for IP Geolocation(2010年)

下载地址:Towards IP geolocation using delay and topology measurements | Proceedings of the 6th ACM SIGCOMM conference on Internet measurement 被引次数:185 Eriksson B, Barford P, Sommers J, et al. A learning-based approach for IP geolocation[C]//Passive …

【UE Niagara】自定义模块的简单使用

效果 步骤 新建一个Niagara系统&#xff0c;使用“Empty”模板&#xff0c;这里命名为“NS_Custom” 打开“NS_Custom”&#xff0c;添加一个“Spawn Burst Instantaneous”来单次生成1个粒子 在“Emitter State”模块中&#xff0c;设置生命循环模式为“Self”&#xff0c;循…

【vue】toRef,toRefs

toRef&#xff1a;把一个 响应式对象 转换为对应的ref变量toRefs&#xff1a;把一个 响应式对象 转换为对应的ref对象 代码 <template><P>mname: {{ mname }} </P><P>mage: {{ mage }} </P><P>msex: {{ msex }} </P><P>mhobb…

购物车实现

目录 1.购物车常见的实现方式 2.购物车数据结构介绍 3.实例分析 1.controller层 2.service层 1.购物车常见的实现方式 方式一&#xff1a;存储到数据库 性能存在瓶颈方式二&#xff1a;前端本地存储 localstorage在浏览器中存储 key/value 对&#xff0c;没有过期时间。s…

配置VM开机自启动

1. 在此电脑-右键选择“管理”-服务和应用程序-服务中找到VMware Workstation Server服务&#xff08;新版名称也可能是VMware自启动服务&#xff0c;自己找一下&#xff0c;服务属性里有描述信息的&#xff09;&#xff0c;将其启用并选择开机自动启动 新版参考官方文档&…

蓝桥杯【第15届省赛】Python B组

这题目难度对比历届是相当炸裂的简单了…… A&#xff1a;穿越时空之门 【问题描述】 随着 2024 年的钟声回荡&#xff0c;传说中的时空之门再次敞开。这扇门是一条神秘的通道&#xff0c;它连接着二进制和四进制两个不同的数码领域&#xff0c;等待着勇者们的探索。 在二进制…

ReactRouter

React-Router 概念&#xff1a;一个路劲path对应一个组件component 当我们在浏览器中访问一个path的时候&#xff0c;path对应的组件会在页面中进行渲染路由语法&#xff1a; import {createBrowserRouter, RouterProvider} from react-router-dom// 1. 创建router实例对象并…

【算法刷题 | 回溯思想 02】4.12(电话号码的字母组合)

文章目录 4.电话号码的字母组合4.1问题4.2解法&#xff1a;回溯4.2.1回溯思路&#xff08;1&#xff09;函数返回值以及参数&#xff08;2&#xff09;终止条件&#xff08;3&#xff09;遍历过程 4.2.2代码实现 4.电话号码的字母组合 4.1问题 给定一个仅包含数字 2-9 的字符…

threejs 基础知识点汇总

threejs 基础知识点汇总 之前写了几篇博文&#xff0c;但是我觉得写的不好&#xff0c;我今天再补充一篇还不好的&#xff0c;把基础知识点汇总一下&#xff0c;不写运行的代码了&#xff0c;只写关键代码&#xff0c;但是看了之前我写的那几篇&#xff0c;看这篇的话问题其实不…

jdk17 你还想用ScriptEngineManager来执行js代码?

今天要用java来执行配置表的js代码&#xff0c;用 ScriptEngine javaScriptEngine new ScriptEngineManager().getEngineByName(“javascript”); 一直抛异常&#xff1a;Cannot invoke “javax.script.ScriptEngine.eval(String)” because “javaScriptEngine” is null 网上…