目录

在线OJ项目测试seleniumJunit5

在线OJ项目测试(selenium+Junit5)

目录


在线OJ项目介绍

该项目为一个SSM项目实现了简单的做题功能,可以访问题目,编写代码,编译及运行,并返回运行结果,会保存历史提交的详情,可以点赞收藏题目,评论区可以交流,可以上传头像等个人资料

在线OJ项目测试的思维导图

https://i-blog.csdnimg.cn/blog_migrate/cf950623b3789017a0829ee68742c854.png

在线OJ项目的UI自动化测试

对在线OJ项目的功能、接口进行测试,利用测试的工具:selenium以及Java的单元测试工具Junit进行测试,下面为UI自动化测试的思维导图,列出该项目测试的测试用例: https://i-blog.csdnimg.cn/blog_migrate/163ab480434223400ac7a07d1837ba50.png

测试结果:

https://i-blog.csdnimg.cn/blog_migrate/be41e7656fe5f2b5f49dd5538c12e2a1.png

首先创建一个Maven项目,引入selenium以及Junit5的依赖

<dependency>
	<groupId>org.seleniumhq.selenium</groupId>
	<artifactId>selenium-java</artifactId>
	<version>4.0.0</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将多个测试用例组合成一个测试套件

https://i-blog.csdnimg.cn/blog_migrate/0ab5d6ea0a773f4f37da3c950dd78739.png

按照这个类的顺序执行测试代码

首先创建一个驱动类

https://i-blog.csdnimg.cn/blog_migrate/540b2a8ae4bad8b826074c78181df513.png

创建获取屏幕截图的方法,方便在发现问题的时候还原现场

https://i-blog.csdnimg.cn/direct/3f1d6116cb744858ab4b4ed46fb7bedd.png https://i-blog.csdnimg.cn/direct/3f1e54fb4969459dabfe57283e5576a0.png

测试一:检查未登录时的页面访问以及一些未登录时的非法操作

通过EdgeDriver以及URL进行页面的访问,查看页面中的元素以及交互是否符合预期

https://i-blog.csdnimg.cn/direct/c41da9a541244425b390b28a38e6af32.png

测试二:测试注册界面

首先通过EdgeDriver以及URL打开注册界面

https://i-blog.csdnimg.cn/blog_migrate/5257d5c4ec5b306029c34925e58f77a8.png

先检查一下页面元素是否加载

https://i-blog.csdnimg.cn/direct/a5b83146291343ff97dbb572a2c4acf3.png 此处只是举例检查几个重要元素

测试注册失败的流程:

1.账号,密码,确认密码都为空

2.账号为空,密码和确认密码一致不为空

3.账号不为空,密码和确认密码都为空

4.账号,密码,确认密码都不为空,但是密码和确认密码不一致

https://i-blog.csdnimg.cn/direct/4e4691b5fbed45d5afd56d327477009f.png

通过参数化进行测试,如果注册失败则会弹出警告,点击确认之后页面不会更改

测试注册成功的流程:

https://i-blog.csdnimg.cn/direct/b57f6d92e52242fda7c202e5a8af6c57.png

注册成功后会弹出确认框,点击确认会跳转到登录界面,反之页面不变

测试三:测试登录界面

首先通过EdgeDriver以及URL打开登录界面

https://i-blog.csdnimg.cn/blog_migrate/6f6d0d8d8121dec1c98a883d98fd906e.png

检查页面元素是否正确加载

https://i-blog.csdnimg.cn/direct/2a72d3eb4e85484f88c288dd5aa98e85.png

测试登录失败的流程:

1.空的账号,非空的密码

2.非空的账号,空的密码

3.错误的账号,正确的密码

4.正确的账号,错误的密码

https://i-blog.csdnimg.cn/direct/a28e084fb8244d9f89e79b24578da3bf.png

通过参数化进行测试,如果登录失败则会弹出警告,点击确认之后页面不会更改

测试登录成功的流程 :

https://i-blog.csdnimg.cn/direct/772fedcfe943482ebbff804cb82c6f18.png

页面登录成功之后会跳转到题目列表页,检查登录成功后的个人头像和用户名是否存在

测试四:测试题目列表界面

首先通过EdgeDriver以及URL打开题目列表界面

https://i-blog.csdnimg.cn/blog_migrate/edbf52fdfd43ba8f1dd489ccc88a8e5b.png

检查页面是否正确加载

https://i-blog.csdnimg.cn/direct/9a4e966bc15f492fb5d625f5083acc4c.png

检查点击题目是否可以跳转到题目详情页

https://i-blog.csdnimg.cn/direct/802f7d6a4c1942d9a33647f90c29ef1e.png

测试五:测试题目详情界面

首先通过EdgeDriver以及URL打开题目详情界面

https://i-blog.csdnimg.cn/blog_migrate/be65b0fdf7abc7f6998ae8d00816282b.png

检查页面元素是否加载,检查导航栏的下拉框是否存在

https://i-blog.csdnimg.cn/direct/f08f9b089c054f1787f586fb2e346de8.png

测试代码的提交按钮,点击提交后刷新页面,页面会更新历史提交记录

https://i-blog.csdnimg.cn/direct/f8d9e6873710470994e4f95b6784c4c1.png

点击历史提交记录,跳转到提交详情页,检查提交详情页中的元素是否存在

测试六:测试提交详情界面

首先通过EdgeDriver以及URL打开提交详情界面

https://i-blog.csdnimg.cn/blog_migrate/7b95cad8a75c4b106908acd7166bfefa.png

检查页面元素是否加载,以及导航栏的下拉框是否存在

https://i-blog.csdnimg.cn/direct/65ff3c099eee4e43935e398a7549f9fa.png

测试七:测试评论列表界面

首先通过EdgeDriver以及URL打开评论列表界面

https://i-blog.csdnimg.cn/blog_migrate/4ccb15e0883f63a530e15dfe7debc61d.png

检查页面元素是否加载,以及导航栏的下拉框是否存在

https://i-blog.csdnimg.cn/direct/8db25d6f963a4f3cb51978285a924913.png

测试发表评论,刷新评论详情页,查看是否可以点击评论,进入到评论详情页,检查页面的元素是否存在

https://i-blog.csdnimg.cn/direct/9efef3460c484123a38813b84cb09280.png

测试八:测试评论详情界面

首先通过EdgeDriver以及URL打开评论详情界面

https://i-blog.csdnimg.cn/blog_migrate/8940011479d972c4df4406016d2c0472.png

检查页面的元素是否加载

https://i-blog.csdnimg.cn/direct/20898aadd3fb4f09be07494c9603b699.png

测试九:测试个人中心界面

首先通过EdgeDriver以及URL打开个人中心界面

https://i-blog.csdnimg.cn/blog_migrate/4b859ebce60a1a39fee2bbafe7999ea9.png

检查页面元素是否加载,关键元素是否存在

https://i-blog.csdnimg.cn/direct/17ead83d044748ba8f6d8cf8ca66f023.png

关闭浏览器驱动,结束测试

https://i-blog.csdnimg.cn/blog_migrate/323afe5abf3bd5ec0dacd250928a9dbd.png