网页五子棋对战项目测试(selenium+Junit5)
目录
网页五子棋对战项目介绍
网页五子棋对战测试的思维导图
网页五子棋对战的UI自动化测试
测试一:测试注册界面
测试二:测试登陆界面
测试三:测试游戏大厅界面
测试四:测试游戏房间界面以及观战房间界面
测试五:测试对局回放列表界面
测试六:测试对局回放详情界面
网页五子棋对战项目介绍
网页五子棋对战的思维导图![](https://img-blog.csdnimg.cn/direct/60b9a50a800446efb3633376c4b28fcd.png)
网页五子棋对战的UI自动化测试
对网页五子棋对战项目的功能、接口进行测试,利用测试的工具:selenium以及Java的单元测试工具Junit进行测试,下面为UI自动化测试的思维导图,列出该项目测试的测试用例:
测试结果:
首先创建一个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将多个测试用例组合成一个测试套件
按照这个类的顺序执行测试代码
首先创建驱动类
测试一:测试注册界面
首先通过EdgeDriver以及URL打开注册界面
先检查一下页面元素是否加载
测试注册失败的流程:
1.账号为空,密码不为空
2.账号不为空,密码为空
账号注册失败页面会提示注册失败的弹窗
测试注册成功的流程:
账号注册成功后会跳转到登录界面
测试二:测试登陆界面
首先通过EdgeDriver以及URL打开登录界面
检查页面元素中的元素是否正确加载
测试登录失败的流程:
1.空的账号,非空的密码
2.非空的账号,空的密码
3.错误的账号,正确的密码
4.正确的账号,错误的密码
登录失败会跳出提示弹窗
测试用户未登录的时候的页面访问
用户未登陆的时候是不可访问这些页面的,拦截器会将用户的请求拦截,并跳转到登录界面
测试登录成功的流程:
用户登陆成功后会跳转到游戏大厅界面,检查是否存在游戏大厅界面中的元素
测试三:测试游戏大厅界面
创建三个不同的浏览器驱动,分别用来登录三个账号,两个账号用来匹配对手,进入到游戏房间界面,另一个账号作为观战用户来访问这个游戏房间,进行测试观战房间界面
检查页面中的元素是否正确加载
测试点击匹配按钮,当前的状态是否会发生改变,并与另一个对手匹配,进入到游戏房间界面
测试四:测试游戏房间界面以及观战房间界面
创建三个浏览器的驱动
检查页面中的元素是否正确加载
测试聊天框,测试用户发送一条消息是否可以显示
通过观战大厅中的链接跳转到正在对局的观战房间,测试观战房间界面是否正确显示
通过直接输入URL测试是否可以进入到观战房间界面
游戏房间中的用户1刷新页面,测试用户掉线的提示弹窗,退出游戏房间
当前测试后关闭用户2和用户3的浏览器驱动,剩下刷新页面退出游戏房间的用户1来测试回放界面
测试五:测试对局回放列表界面
通过EdgeDriver以及URL访问回放列表界面
检查页面中的元素是否正确加载,回到游戏大厅通过点击游戏大厅中的导航栏跳转到回放列表,测试回放列表页面元素是否正确加载
测试点击回放列表中的链接进入到回放房间
测试六:测试对局回放详情界面
创建EdgeDriver驱动
检查页面元素是否正确加载,并测试通过URL直接访问回放房间
测试结束后执行后置方法,关闭浏览器驱动
相关文章:
![](https://img-blog.csdnimg.cn/direct/9cff0ab71325458591db2224e57151a3.png)
网页五子棋对战项目测试(selenium+Junit5)
目录 网页五子棋对战项目介绍 网页五子棋对战测试的思维导图 网页五子棋对战的UI自动化测试 测试一:测试注册界面 测试二:测试登陆界面 测试三:测试游戏大厅界面 测试四:测试游戏房间界面以及观战房间界面 测试五&#…...
![](https://img-blog.csdnimg.cn/direct/c28abbf190484955a028aec3d4f2d08e.png)
stable diffusion 局部重绘 reference-only api 接口调试
webUI api payload 插件生成的接口参数不准确,reference-only 的image不是对象,就是不同字符串字段,直接传,不是套image。 综上,那个插件参数不确定,应直接看插件的源码,看它接受什么参数 错误…...
![](https://img-blog.csdnimg.cn/direct/59e3408b23a54dfdbbae4849bc6e0ad2.png#pic_center)
浪潮信息内存故障预警技术再升级 服务器稳定性再获提升
浪潮信息近日对其内存故障智能预警修复技术进行了全面升级,再次取得技术突破。此次升级后,公司服务器的宕机率实现了80%锐降,再次彰显了浪潮信息在服务器技术领域的卓越能力。 浪潮信息全新升级服务器内存故障智能预警修复技术MUPR (Memory …...
![](https://img-blog.csdnimg.cn/direct/4829d5675ba5480aaf7fbc29afd81a9d.png)
JWT整合Gateway实现鉴权(RSA与公私密钥工具类)
一.业务流程 1.使用RSA生成公钥和私钥。私钥保存在授权中心,公钥保存在网关(gateway)和各个信任微服务中。 2.用户请求登录。 3.授权中心进行校验,通过后使用私钥对JWT进行签名加密。并将JWT返回给用户 4.用户携带JWT访问 5.gateway直接通过公钥解密JWT进…...
![](https://www.ngui.cc/images/no-images.jpg)
vue实现全屏screenfull-封装组件
1. 安装依赖 npm install --save screenfull 2. 引用 import screenfull from "screenfull" 3.封装fullScreen/index: <template><div><el-tooltip v-if"!content" effect"dark" :content"fullscreenTips" placement&…...
![](https://img-blog.csdnimg.cn/direct/ccd62007d4f94ee0bf0ed97d0585a68f.png)
【LinkedList与链表】
目录 1,ArrayList的缺陷 2,链表 2.1 链表的概念及结构 2.2 链表的实现 2.2.1 无头单向非循环链表实现 3,LinkedList的模拟实现 3.1 无头双向链表实现 4,LinkedList的使用 4.1 什么是LinkedList 4.2 LinkedList的使用 5…...
![](https://img-blog.csdnimg.cn/e6349c2b37c74f028ee1c1b844541c04.png)
为数据安全护航,袋鼠云在数据分类分级上的探索实践
在大数据时代,数据具有多源异构的特性,且价值各异,企业需依据数据的重要性、价值指数等予以区分,以利采取不同的数据保护举措,避免数据泄露。故而,数据分类分级管理属于数据安全保护中极为重要的环节之一。…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring 循环依赖详解
Spring 循环依赖详解 1. 引言 在Spring框架中,依赖注入(Dependency Injection, DI)是其核心功能之一,它通过配置来管理对象的创建和它们之间的依赖关系。然而,在复杂的应用程序中,开发人员有时会遇到循环…...
![](https://www.ngui.cc/images/no-images.jpg)
项目经理真的不能太“拧巴”
前期的项目经理经常是“拧巴”的,就是心里纠结、思路混乱、行动迟缓。对于每天需要面对各种挑战、协调各方资源、确保项目顺利进行的项目经理来说,这种“拧巴”不仅会让自己陷入内耗中,还会让项目出大问题。 项目计划总是改来改去࿰…...
![](https://img-blog.csdnimg.cn/img_convert/eade77740abb9a94d87449817c8d8577.png)
企业如何选择合适的CRM工具?除Salesforce之外的10大主流选择
对比salesforce,其他10款优秀CRM:纷享销客CRM、Zoho CRM、腾讯企点、销售易、企业微信 (WeCom)、Odoo CR、OroCRM、金蝶、用友CRM、EspoCRM 虽然Salesforce以其全面的功能和强大的市场占有率在海外收获了许多客户,但Salesforce在国内市场的接…...
![](https://img-blog.csdnimg.cn/img_convert/3ad834f6aa4cb6262ee0cc7b878a4684.png)
每年1-1.2万人毕业,男女比例约3:1,测绘工程的就业率如何
测绘工程,一个让人闻风丧胆的理科专业,虎扑评分4.2: 干过测绘的,苦不苦只有大家心里知道,带大家来感受一下,兄弟们的精神状态都十分美妙: 测绘专业到底是什么情况? PS.测绘分为本科…...
![](https://img-blog.csdnimg.cn/img_convert/249b1678454e42d83f5d1b00f6c9fa3a.png)
JimuReport 积木报表 v1.7.6 版本发布,免费的低代码报表
项目介绍 一款免费的数据可视化报表工具,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完…...
![](https://www.ngui.cc/images/no-images.jpg)
“灵活就业者“超两亿人 游戏开发者如何破局?
随着“灵活就业”者数量突破两亿,我相信“寒气”已经传递到每一位普通人!对于游戏行业的“灵活就业”者,应当如何破局? 首先应该恭喜大家,选择了一个相对“稳健”的行业,无论大环境如何,游戏/软…...
![](https://img-blog.csdnimg.cn/direct/6958308f180845938027ec3d37b680d8.png)
MySQL事务与存储引擎
一、事务的概念 是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行是一个不可分割的工作逻辑单元,在数据库…...
![](https://www.ngui.cc/images/no-images.jpg)
总是给数据库表字段设置默认值的好处
1、NOT NULL DEFAULT 的好处 在设计数据库表结构时,将字段设置为不能为空并设置默认值有以下几种好处: 1.1、数据完整性 通过设置字段不能为空,可以确保每条记录都包含必要的数据,从而保证了数据的完整性。例如,在用…...
![](https://img-blog.csdnimg.cn/direct/603b3459b0d549eca40c0fbc82d4e45a.png)
11.2 Go 常用包介绍
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...
![](https://img-blog.csdnimg.cn/direct/4edc25bcaa6e4ee8aaaaca29907c3701.png)
Sqlite3数据库基本使用
一、基本概念 数据:能够输入计算机并能被计算机程序识别和处理的信息集合 数据库:长期存储在计算机内、有组织的、可共享的大量数据的集合 DBMS:位于用户与操作系统之间的一层数据管理软件,用于操纵和管理数据库 二、安装 在线…...
![](https://img-blog.csdnimg.cn/direct/70b015c5f44b4d74967b95a33ba281af.png)
实现贪吃蛇小游戏【简单版】
1. 贪吃蛇游戏设计与分析 1.1 地图 我们最终的贪吃蛇大纲要是这个样子,那我们的地图如何布置呢? 这里不得不讲⼀下控制台窗口的⼀些知识,如果想在控制台的窗口中指定位置输出信息,我们得知道该位置的坐标,所以首先介…...
![](https://www.ngui.cc/images/no-images.jpg)
uniapp实现内嵌其他网页的功能
一、用到的知识点 页面跳转页面间跳转,参数传递web-view使用 二、使用navigator 页面跳转。 navigator 组件类似HTML中的<a>组件,但只能跳转本地页面。目标页面必须在pages.json中注册。所以这么写是不行的: <navigator url&quo…...
![](https://www.ngui.cc/images/no-images.jpg)
【Ruby简单脚本01】查看wifi密码
脚本 # 使用io库 def get_cmd_result(cmd) IO.popen(cmd,:external_encoding>GBK).read.encode("utf-8") end def list_wifi wifi_pwds Hash.new # 获取所有wifi文件 o1 get_cmd_result("netsh wlan show profiles") # 获取所有匹配结果 …...
![](https://img-blog.csdnimg.cn/img_convert/047976793ef516c92fdb18a10c2beed9.png)
VSG/VSA 矢量信号模拟/分析软件
_Ceyear思仪 _ VSG/VSA 矢量信号模拟/分析软件 苏州新利通仪器仪表 在现代无线通信中,IQ调制属于标准配置,经常应用于通信系统的信号调制和解调环节。IQ调制的应用简化了通信设备的硬件结构,同时提高了频谱资源的利用效率,提…...
![](https://www.ngui.cc/images/no-images.jpg)
C++使用GDAL库完成tiff图像的合并
全色图 完整代码: #include "gdal_priv.h" #include "cpl_string.h" #include <vector> #include <algorithm> #include <iostream> #include <filesystem>using namespace std; namespace fs std::filesystem; vec…...
![](https://www.ngui.cc/images/no-images.jpg)
深入理解AQS:Java并发编程中的核心组件
目录 AQS简介AQS的设计思路AQS的核心组成部分 状态(State)同步队列(Sync Queue)条件队列(Condition Queue) AQS的内部实现 节点(Node)锁的获取与释放 独占锁共享锁 条件变量 AQS的应…...
![](https://img-blog.csdnimg.cn/direct/cd118c0f23db453296124bc785dd6072.png)
集合进阶:List集合
一.List集合的特有方法 1.Collection的方法List都继承了 2.List集合因为有索引,所以多了很多索引操作的方法。 3.add // 1.创建一个集合List<String> list new ArrayList<>(); // 2.添加元素list.add("aaa");list.add("bbb"…...
![](https://img-blog.csdnimg.cn/direct/82a3c0d0ebe94ceebcf06b199dcb795b.png)
el-table表头修改文字或者背景颜色,通过header-row-style设置样式
方式一 <el-table :header-cell-style"{text-align: center}" />方式二 <template><el-table :header-cell-style"tableHeaderColor" /> </template> <script> export default {methods: {tableHeaderColor ({row, column…...
![](https://img-blog.csdnimg.cn/direct/6d8d151cded2438ca00b66aecf76c38e.png)
web前端-CSS
CSS CSS概述: CSS是Cascading Style Sheets(级联样式表),是一种样式表语言,用于控制网页布局,外观(比如背景图片,图片高度,文本颜色,文本字体,高级定位等等) 可将页面的内容与样式分离开,样式放于单独的.css文件或者HTML某处 CSS是网页样式,HTML是网页…...
![](https://www.ngui.cc/images/no-images.jpg)
u8g2 使用IIC驱动uc1617 lcd 字符显示只显示上半部分,不显示下半部
使用u8g2 使用硬件iic驱动某些page为4个字节 带灰度的lcd显示屏幕的时候有时候只显示上半部,下半部不显示,例如uc1617等。 原因: 以uc1617为例,链接https://github.com/olikraus/u8g2/blob/master/csrc/u8x8_d_uc1617.c 在u8x8_d_uc1617_common方法中的case U8X8_MSG_DI…...
![](https://img-blog.csdnimg.cn/direct/485ad4c1278645a7abd5b9241bbb7a1e.png)
单片机第五季-第八课:STM32CubeMx和FreeRTOS
1,FreeRTOS背景介绍 RTOS简介: 实时操作系统,本用于追求实时性的嵌入式系统,典型:ucos/uclinux/vxworks; 特点:中断响应快、一般可嵌套中断、使用实地址、多任务; (实…...
![](https://img-blog.csdnimg.cn/direct/2dd2d00d70504936a820b14fc8e1cf97.png)
【Linux】进程控制1——进程创建和进程终止
1.进程创建 1.1.再谈fork 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。 #include <unistd.h> pid_t fork(void);//pid_t为整形 返回值:子进程中的fork()返回0ÿ…...
![](https://img-blog.csdnimg.cn/direct/220a8852f6dc4a6ba5dc2f73c24a4902.png)
计算机图形学入门16:曲线
1.曲线 曲线(Curves)在图形学中应用非常广泛,比如:相机的拍摄路径、物体的移动路径、动画曲线、矢量字体等。如下图所示,是使用曲线到矢量字体的应用,通过移动一些控制点来改变字体。 2.贝塞尔曲线 2.1 贝…...
![](/images/no-images.jpg)
公司网站打开很慢/app推广刷量
devops定义随着DevOps在CI和CD工具的帮助下逐渐成熟,角色和职责不断变化。 对于开发人员而言,这种向DevOps文化的演变提供了一个机会,使人们可以更好地了解每个决策如何影响软件生命周期。 有了更多的知识,就可以以前所未有的速度…...
![](/images/no-images.jpg)
旅游景区网站建设方案/百度快速收录网站
步骤: 1、在Activity布局文件中定义framelayout用于添加Fragment 2、创建两个Fragment用于切换 3、获取Fragment管理器,并开启事物FragmentTransaction 4、通FragmentTransaction.add(resource id, fragment)将fragment添加到布局上,提交事物…...
![](/images/no-images.jpg)
永久免费的cad软件/广州营销seo
设计模式的定义 设计模式(Design Pattern)是一套面向对象的代码设计经验总结。 设计模式是一种思想,也是一种技术。 一种设计模式就是一种解决实际问题的方案。 每一种设计模式虽然有既定的结构图和基本程序代码,但是应该不局限于…...
![](https://img-blog.csdnimg.cn/20210510122235162.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjM5NjgzMw==,size_16,color_FFFFFF,t_70)
网站内链检测工具/如何开网站呢
登录VMware vSphere的管理界面,注意端口号。 按照下图进行修改即可。...
![](https://img-blog.csdnimg.cn/e09f30ed07ff493f97ea55adf212def6.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6LWk6bG856eR5oqA,size_20,color_FFFFFF,t_70,g_se,x_16)
wordpress wiki/深圳知名seo公司
一、硬件材料 1*Arduino NANO开发板 1*模块MQ-2烟雾气敏传感器模块 1*传感器模块 L9110风扇模块 1*加湿器USB喷雾模块 二、硬件接线图...
![](https://img-blog.csdnimg.cn/63dd34039b684148ad526f7d267962ad.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVGVzdGVyaG9tZWU=,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
商城网站模板源码/网络视频营销的案例
本文由5t5发表于TesterHome社区网站,点击原文链接可与作者直接交流。 本次帖子单刀直入,直接说点,谨慎查阅。 兼容性存在的意义 很简单,就是为了把覆盖普及大众的机型上项目暴露出来的问题全部扼杀掉,有效的改善/避免…...