论坛项目测试报告

article/2025/8/21 16:53:01

一、项目背景

1.1 测试目标

验证论坛功能完整性,确保用户个人中心发布/删除管理、模块分类控制、搜索功能等核心模块

符合需求

1.2 项目技术栈

后端:Spring Boot/Spring MVC

数据库:MySQL

前端:原生 HTML/CSS/AJAX

二、测试分类

1、测试功能

测试用例:

1.1 登录模块

1.2 注册模块

1.3 论坛界面

1.4 帖子测试

1.5 个人中心测试

2、手动测试系统

1.1 注册页面

1.2 登录测试

登录失败

登录成功

1.3 模块分类

1.4  发布帖子

1.5 点赞帖子

1.6 回复帖子

1.7 删除帖子

1.8 搜索帖子

功能测试总结:

测试用例:60

功能覆盖率:97% 

测试时间:2025-05-28 13.20 ~ 2025-05-28 13.40

测试方式:手动测试 

通过率:100%,没有明显功能性错误 


3、自动化测试

自动化测试覆盖模块:

注册页面,登陆页面,切换模块,发布帖子,点赞和回复,个人中心

自动化数据源码链接:

Forum · 小加油家/Java_house - 码云 - 开源中国

自动化代码展示:

工具类:

package common;import io.github.bonigarcia.wdm.WebDriverManager;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.edge.EdgeOptions;
import org.openqa.selenium.support.ui.WebDriverWait;import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.time.Duration;public class Utils {//创建一个公共的driverpublic static WebDriver driver;//判断driver是否为空public static WebDriver creat(){if(driver == null){//创建WebDriverManager.edgedriver().setup();EdgeOptions options = new EdgeOptions();//允许访问所有链接options.addArguments("--remote-allow-origins=*");driver = new EdgeDriver(options);}//添加隐式等待driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));return driver;}/*** 屏幕截图* 屏幕截图文件目录* ./src/test/java/images/*                       /2025-04-29/*                                  /test01-20123010.png*                                  /test02-20133510.png*                       /2025-04-30/*                                  /test01-20123010.png*      *                           /test02-20133510.png**str:方法名/类名*///截图public void getPicture(String str) throws IOException {//规定两个时间SimpleDateFormat sim1 = new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat sim2 = new SimpleDateFormat("HHmmssSS");//接收String dirTime = sim1.format(System.currentTimeMillis());String fileTime = sim2.format(System.currentTimeMillis());String name = "./src/test/image/" + dirTime + "/" + str + "-" + fileTime + ".png";File screenshotAs = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);FileUtils.copyFile(screenshotAs, new File(name));}//使用public Utils(String url){//得到driverdriver = creat();driver.get(url);}}

注册代码:

package tests;import common.Utils;
import org.openqa.selenium.By;import java.io.IOException;public class RegistrationPage extends Utils {//填写访问路径
//    public static String url = "http://127.0.0.1:58080/sign-up.html";  //注册urlpublic static String url = "http://127.0.0.1:58080/sign-in.html";  //登录urlpublic RegistrationPage() {super(url);}//判断是否可以转页public void TurnPage() throws IOException, InterruptedException {driver.findElement(By.cssSelector("body > div > div > div > div:nth-child(1) > div > div.text-center.text-muted.mt-3 > a")).click();driver.findElement(By.cssSelector("#signUpForm > div > h2"));
//        Register();  //调用方法查看是否可以连贯
//        driver.quit();}//判断页面是否可以加载出来public void RegisterRight(){driver.findElement(By.cssSelector("#signUpForm > div > h2"));
//        driver.quit();}//填写用户名,昵称,密码,认识密码,同意注册public void Register() throws IOException, InterruptedException {//写用户名driver.findElement(By.cssSelector("#username")).sendKeys("houqi");//写昵称driver.findElement(By.cssSelector("#nickname")).sendKeys("侯七");//写密码和确认密码driver.findElement(By.cssSelector("#password")).sendKeys("123456");driver.findElement(By.cssSelector("#passwordRepeat")).sendKeys("123456");//同意协议driver.findElement(By.cssSelector("#policy")).click();
//        //等待2秒截图并截图
//        Thread.sleep(2000);
//        getPicture(RegistrationPage.class.getName());//点击注册driver.findElement(By.cssSelector("#submit")).click();driver.quit();}
}

登录代码:

package tests;import common.Utils;
import org.openqa.selenium.By;import java.io.IOException;public class LoginPage extends Utils {public static String url = "http://127.0.0.1:58080/sign-in.html";  //登录urlpublic LoginPage() {super(url);}//判断页面是否可以加载出来public void LoginRight(){driver.findElement(By.cssSelector("#submit"));driver.quit();}//登录测试public void Login() throws InterruptedException, IOException {driver.findElement(By.cssSelector("#username")).sendKeys("houqi");driver.findElement(By.cssSelector("#password")).sendKeys("123456");
//        //等待2秒截图并截图
//        Thread.sleep(2000);
//        getPicture(LoginPage.class.getName());driver.findElement(By.cssSelector("#submit")).click();
//        //等待2秒截图并截图
//        Thread.sleep(2000);
//        getPicture(LoginPage.class.getName());
//        driver.quit();}
}

主界面代码:

package tests;import common.Utils;
import org.openqa.selenium.By;import java.io.IOException;public class ForumInfo extends Utils {public static String url = "http://127.0.0.1:58080/index.html";  //论坛页面urlpublic ForumInfo() {super(url);}//使用登录功能LoginPage loginPage = new LoginPage();//判断页面是否可以加载出来public void ForumRight() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#article_list_board_title"));
//        driver.quit(); //判断页面是否可以加载出来}//判断是否可以转模块public void Turn() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#topBoardList > li:nth-child(2) > a > span.nav-link-title")).click();driver.findElement(By.cssSelector("#topBoardList > li:nth-child(3) > a")).click();driver.findElement(By.cssSelector("#topBoardList > li:nth-child(10) > a > span.nav-link-title")).click();
//        //等待2秒截图并截图
//        Thread.sleep(2000);
//        getPicture(ForumInfo.class.getName());driver.quit();}//是否可以使用搜索public void Search() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div.nav-item.d-none.d-md-flex.me-3 > div > form > div > input")).sendKeys("111");//等待2秒截图并截图Thread.sleep(2000);getPicture(ForumInfo.class.getName());driver.quit();}//是否可以点击发布帖子public void Publish() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#bit-forum-content > div.page-header.d-print-none > div > div > div.col-auto.ms-auto.d-print-none > div > a.btn.btn-primary.d-none.d-sm-inline-block.article_post")).click();driver.findElement(By.cssSelector("#bit-forum-content > div.page-header.d-print-none > div > div > div > h2"));driver.quit();}//是否可以查看帖子public void Look() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#artical-items-body > div > div > div.col > div.text-truncate > a > strong")).click();driver.findElement(By.cssSelector("#btn_details_send_message"));//等待2秒截图并截图Thread.sleep(2000);getPicture(ForumInfo.class.getName());driver.quit();}//是否可以查看个人中心public void Lookk() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#index_nav_avatar")).click();driver.findElement(By.cssSelector("#index_user_settings")).click();driver.quit();}//是否可以切换黑夜模式public void Switch() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div:nth-child(2) > a.nav-link.px-0.hide-theme-dark > svg")).click();//等待2秒截图并截图Thread.sleep(2000);getPicture(ForumInfo.class.getName());driver.quit();}//是否可以查看信息public void Lookkk() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div:nth-child(2) > div > a > svg")).click();driver.findElement(By.cssSelector("#offcanvasEndLabel"));driver.quit();}
}

帖子发布代码:

package tests;import common.Utils;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;import java.io.IOException;public class Publish extends Utils {public static String url = "http://127.0.0.1:58080/index.html";  //论坛页面urlpublic Publish() {super(url);}//使用登录功能LoginPage loginPage = new LoginPage();//判断页面是否可以加载出来public void PublishRight() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#article_list_board_title"));driver.quit();}//判断在主页面是否可以发帖子public void PublishContent() throws IOException, InterruptedException {Actions actions = new Actions(driver);  //模拟键盘loginPage.Login();driver.findElement(By.cssSelector("#bit-forum-content > div.page-header.d-print-none > div > div > div.col-auto.ms-auto.d-print-none > div > a.btn.btn-primary.d-none.d-sm-inline-block.article_post")).click();driver.findElement(By.xpath("//*[@id=\"article_post_title\"]")).sendKeys("第一个自动化帖子");WebElement element = driver.findElement(By.cssSelector("#edit-article > div.CodeMirror.cm-s-default.CodeMirror-wrap.CodeMirror-empty > div.CodeMirror-scroll > div.CodeMirror-sizer > div > div > div > div.CodeMirror-code > div > pre"));actions.doubleClick(element).perform();actions.moveToElement(element).sendKeys("这是一个自动化帖子").perform();WebElement element1 = driver.findElement(By.xpath("//*[@id=\"article_post_submit\"]"));Thread.sleep(2000);actions.click(element1).perform();
//        //等待2秒截图并截图
//        Thread.sleep(2000);
//        getPicture(Publish.class.getName());driver.quit();}//判断切换模块是否可以发布帖子public void PublishContent2() throws IOException, InterruptedException {Actions actions = new Actions(driver);  //模拟键盘loginPage.Login();driver.findElement(By.cssSelector("#topBoardList > li:nth-child(3) > a > span.nav-link-title")).click();driver.findElement(By.cssSelector("#bit-forum-content > div.page-header.d-print-none > div > div > div.col-auto.ms-auto.d-print-none > div > a.btn.btn-primary.d-none.d-sm-inline-block.article_post")).click();driver.findElement(By.cssSelector("#article_post_borad > option:nth-child(2)")).click();driver.findElement(By.xpath("//*[@id=\"article_post_title\"]")).sendKeys("第一个c++帖子");WebElement element = driver.findElement(By.cssSelector("#edit-article > div.CodeMirror.cm-s-default.CodeMirror-wrap.CodeMirror-empty > div.CodeMirror-scroll > div.CodeMirror-sizer > div > div > div > div.CodeMirror-code > div > pre"));actions.doubleClick(element).perform();actions.moveToElement(element).sendKeys("这是一个c++自动化帖子").perform();WebElement element1 = driver.findElement(By.xpath("//*[@id=\"article_post_submit\"]"));Thread.sleep(2000);actions.click(element1).perform();//等待2秒截图并截图Thread.sleep(2000);getPicture(Publish.class.getName());driver.quit();}//判断帖子是否可以点赞public void Upvote() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong")).click();driver.findElement(By.cssSelector("#details_btn_like_count")).click();driver.quit();}//判断帖子发布是否可以重新编辑public void Redact() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong")).click();driver.findElement(By.cssSelector("#details_artile_edit > span")).click();driver.quit();}//判断帖子是否可以回复public void Reply() throws IOException, InterruptedException {Actions actions = new Actions(driver);  //模拟键盘loginPage.Login();driver.findElement(By.cssSelector("#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong")).click();WebElement element = driver.findElement(By.cssSelector("#article_details_reply > div.CodeMirror.cm-s-default.CodeMirror-wrap.CodeMirror-empty > div.CodeMirror-scroll > div.CodeMirror-sizer > div > div > div > div.CodeMirror-code > div > pre"));actions.doubleClick(element).perform();Thread.sleep(1000);actions.moveToElement(element).sendKeys("写的很好").perform();Thread.sleep(2000);WebElement element1 = driver.findElement(By.cssSelector("#details_btn_article_reply > span"));actions.click(element);driver.quit();}//判断帖子是否可以删除public void Delete() throws IOException, InterruptedException {loginPage.Login();//删之前截图//等待2秒截图并截图Thread.sleep(2000);getPicture(Publish.class.getName());driver.findElement(By.cssSelector("#artical-items-body > div:nth-child(1) > div > div.col > div.text-truncate > a > strong")).click();driver.findElement(By.cssSelector("#bit-forum-content > div.page-body > div > div > div:nth-child(1) > div.col-9.card.card-lg > div.card-footer.bg-transparent.mt-auto.justify-content-end > div > div:nth-child(3) > div > a > span")).click();driver.findElement(By.cssSelector("#details_artile_delete")).click();//删之后截图//等待2秒截图并截图Thread.sleep(2000);getPicture(Publish.class.getName());driver.quit();}
}

个人中心代码:

package tests;import common.Utils;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;import java.io.IOException;public class Centre extends Utils {public static String url = "http://127.0.0.1:58080/index.html";  //论坛页面urlpublic Centre() {super(url);}//使用登录功能LoginPage loginPage = new LoginPage();//判断页面是否可以加载出来public void CentreRight() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#index_nav_avatar")).click();driver.findElement(By.cssSelector("#index_user_settings")).click();driver.findElement(By.cssSelector("#settings_avatar"));driver.quit();}//判断是否可以换头像public void Switch() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#index_nav_avatar")).click();driver.findElement(By.cssSelector("#index_user_settings")).click();//进入页面driver.findElement(By.cssSelector("#bit-forum-content > div.page-body > div > div > div > div.col.d-flex.flex-column > div > div.row.align-items-center > div:nth-child(2) > a"));driver.quit();}//判断是否可以修改昵称public void SwitchName() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#index_nav_avatar")).click();driver.findElement(By.cssSelector("#index_user_settings")).click();//进入页面driver.findElement(By.cssSelector("#setting_input_nickname")).click();driver.findElement(By.cssSelector("#setting_input_nickname")).clear();driver.findElement(By.cssSelector("#setting_input_nickname")).sendKeys("小侯七");driver.findElement(By.cssSelector("#setting_submit_nickname")).click();//等待2秒截图并截图Thread.sleep(2000);getPicture(Centre.class.getName());driver.quit();}//判断是否可以修改邮箱地址public void Email() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#index_nav_avatar")).click();driver.findElement(By.cssSelector("#index_user_settings")).click();//进入页面driver.findElement(By.cssSelector("#setting_input_email")).click();driver.findElement(By.cssSelector("#setting_input_email")).clear();driver.findElement(By.cssSelector("#setting_input_email")).sendKeys("1234567@qq.com");driver.findElement(By.cssSelector("#setting_submit_email")).click();//等待2秒截图并截图Thread.sleep(2000);getPicture(Centre.class.getName());driver.quit();}//判断是否可以修改电话号码public void Phone() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#index_nav_avatar")).click();driver.findElement(By.cssSelector("#index_user_settings")).click();//进入页面//下滑页面((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 500)");driver.findElement(By.cssSelector("#setting_input_phoneNum")).sendKeys("123456789");driver.findElement(By.cssSelector("#setting_submit_phoneNum")).click();//等待2秒截图并截图Thread.sleep(2000);getPicture(Centre.class.getName());driver.quit();}//是否可以修改密码public void Code() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#index_nav_avatar")).click();driver.findElement(By.cssSelector("#index_user_settings")).click();//进入页面//下滑页面((JavascriptExecutor) driver).executeScript("window.scrollTo(0, 1000)");Thread.sleep(1000);driver.findElement(By.cssSelector("#settings_input_oldPassword")).sendKeys("654321");driver.findElement(By.cssSelector("#settings_input_newPassword")).sendKeys("123456");driver.findElement(By.cssSelector("#settings_input_passwordRepeat")).sendKeys("123456");Thread.sleep(1000);driver.findElement(By.cssSelector("#settings_submit_password")).click();
//        //等待2秒截图并截图
//        Thread.sleep(2000);
//        getPicture(Centre.class.getName());
//        driver.quit();}//修改密码并且重新登录public void LoginAgain() throws IOException, InterruptedException {Code();driver.findElement(By.cssSelector("#username")).sendKeys("houqi");driver.findElement(By.cssSelector("#password")).sendKeys("123456");Thread.sleep(2000);driver.findElement(By.cssSelector("#submit")).click();//等待2秒截图并截图Thread.sleep(2000);getPicture(Centre.class.getName());driver.quit();}//修改个人简历public void Resume() throws IOException, InterruptedException {loginPage.Login();driver.findElement(By.cssSelector("#index_nav_avatar")).click();driver.findElement(By.cssSelector("#index_user_settings")).click();//进入页面//下滑页面((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");Thread.sleep(500);driver.findElement(By.cssSelector("#settings_textarea_remark")).sendKeys("我的简历修改");driver.findElement(By.cssSelector("#settings_submit_remark")).click();//等待2秒截图并截图Thread.sleep(2000);getPicture(Centre.class.getName());driver.quit();}
}

自动化测试总结:

测试用例:28

功能覆盖率:95%

框架:Selenium 4.0.0 + Maven

通过率:100%,没有发现功能性bug

测试时间:2025-05-28 14.00 ~ 2025-05-28 21.35

自动化屏幕关键截图:(通过截图和预期比较)完全一致


4、Jmeter梯度压力测试

线程组设计:

测试结果:

性能报告:

Jmeter性能压力测试报告总结:

测试用例:3

高频接口覆盖率:90%

软件:Apache Jmeter 5.5

通过率:76.97%

测试时间:2025-05-29 10.00 ~ 2025-05-29 12.58

结果分析:系统在测试过程中表现相对稳定,在高负载下,系统具有较好的并发处理能力

性能瓶颈:登录接口的响应时间在某些时刻显著增加,可能是性能瓶颈所在

三、测试结果评价

1、主功能测试通过,项目可以上线。

2、项目上线后高优观察线上数据,查看线上用户操作日志,及时跟进用户反馈。


http://www.hkcw.cn/article/FRgsOMWlKu.shtml

相关文章

(LeetCode 每日一题)3373. 连接两棵树后最大目标节点数目 II(贪心+深度优先搜索dfs)

题目:3373. 连接两棵树后最大目标节点数目 II 思路:贪心深度优先搜索dfs,时间复杂度0(nm)。 第二棵树:对每个节点进行分类,0或1,相邻的节点肯定不同啦,这样就可以统计出0和1 各自的节点个数。 …

开疆智能Profinet转Profibus网关连接EC-CM-P1 PROFIBUS DP从站通讯模块配置案例

本案例是通过开疆智能Profibus转Profinet网关将正弦研发的Profibus从站模块连接的EM600变频器接入到西门子1200PLC的配置案例。 配置过程 1. 打开网关配置软件“”新建项目并添加模块PN2DPM并设置参数 2. 设置网关的Profibus参数。如站地址,波特率等。(…

【计算机常识】--环境变量

在 Linux/Unix 系统中,​​环境变量(Environment Variables)​​是操作系统或用户设置的全局参数,用于存储系统或程序的配置信息。其中,​​PATH​​ 是最重要的环境变量之一,它决定了系统在哪些目录中查找…

孙颖莎含泪感谢邱贻可 坚定追求大满贯梦想

孙颖莎含泪感谢邱贻可 坚定追求大满贯梦想!5月29日,在多哈世乒赛上,孙颖莎实现了混双三连冠并卫冕女单冠军。她坦言为自己感到骄傲与感动。当被问及是否还怀揣着实现大满贯的梦想时,孙颖莎坚定回答:“必须的!”采访中,她眼含热泪向邱贻可指导表示感谢,并表示希望未来能…

行为型:观察者模式

目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 5、注意事项 1、核心思想 目的:针对被观察对象与观察者对象之间一对多的依赖关系建立起一种行为自动触发机制,当被观察对象状态发生变化时主动对外发起广播&…

中国已不是美留学生第一大来源国 印度反超夺魁

中国已不是美留学生第一大来源国 印度反超夺魁!赴美留学的国际学生中,中国已不再是最多的。根据最新数据,印度已成为美国高校留学生的第一大来源国,占比29.4%(约33.1万人),而中国排在第二位,占比24.6%(约27.7万人)。两国留学生人数合计已经超过一半。过去,中国长期占…

Unity-QFramework框架学习-MVC、Command、Event、Utility、System、BindableProperty

QFramework QFramework简介 QFramework是一套渐进式、快速开发框架,适用于任何类型的游戏及应用项目,它包含一套开发架构和大量的工具集 QFramework的特性 简洁性:QFramework 强调代码的简洁性和易用性,让开发者能够快速上手&a…

【代码训练营Day02】数组part2

文章目录 长度最小的子数组螺旋矩阵II数组总结 长度最小的子数组 题目链接:209. 长度最小的子数组 滑动窗口法的解题思路: 首先初始化双指针,都指向数组头部end指针依次向后滑,每向后滑一项就加一项,直到满足要求达到…

千年后中国人又在举国之力挖运河 新运河时代来临

千年后中国人又在举国之力挖运河 新运河时代来临!近日,浙江《关于高水平建设“航运浙江”的实施意见》正式实施,明确提出“谋划推进浙赣运河”。这一消息再次引起热议。作为浙赣粤运河的一部分,浙赣运河途经浙江杭州、衢州和江西上饶、鹰潭、南昌等城市,规划全长约760公里…

网关Gateway

目录 Gateway作用 Gateway使用 Gateway作用 在微服务项目中,没有引入网关时,项目架构如下: 引入网关后,架构如下: 引入网关后,有如下优势: 1、客户端请求经过网关向后台统一分发请求&#xff0c…

Python打卡训练营-Day15-复习日

浙大疏锦行 作业: 尝试找到一个kaggle或者其他地方的结构化数据集,用之前的内容完成一个全新的项目,这样你也是独立完成了一个专属于自己的项目。 要求: 有数据地址的提供数据地址,没有地址的上传网盘贴出地址即可。尽…

使用MFC 写dap上位机在线烧写FLASH

1.使用BUS Hound 抓取KEIL5 正常烧写的通讯包协议 2.结束DAP 源码分析每条数据,主要通讯靠05 和06 3.动态加载FLM烧写算法. 最终效果

Orcad 修复Pin Name重复问题

Duplicate Pin Name “VDD” found on Package 问题描述 1、Orcad创建网表时报错,错误,描述为Pin Name重复(在Orcad中是不允许非Power的pin type的Pin Name相同的) #26 ERROR(ORCAP-36041): Duplicate Pin Name “VDD” found on Package 处理方式 修

以军称拦截也门胡塞武装发射的一枚导弹

以色列国防军当地时间29日发表声明称,以空军当天拦截了也门胡塞武装发射的一枚导弹,包括特拉维夫在内的部分以色列中部地区当天响起防空警报。有报道称,耶路撒冷传出爆炸声。以色列急救组织表示,暂时没有接到关于此次导弹袭击的人员伤亡报告。△本古里安国际机场(资料图)…

从微积分到集合论(1630-1910)(历史简介)——第3章——数学分析的出现及其基础性进展(1780-1880)(I.Grattan-Guinness)

第 3 章 数学分析的出现及其基础性进展 (The Emergence of Mathematical Analysis and its Foundational Progress,1780-1880) Grattan-Guinness 目录 3.1 数学分析及其与代数和几何的关系(Mathematical analysis and its relationship to algebra and geometry) 3.2 …

2-向量可视化

确定适用于向量的绘图类型 任务一 plot(Year,Aus_Can); 任务二 area(Year,Aus Can) 结果 任务三 stem(Year,Aus_Can) 自定义绘图属性 %任务一 plot(Year,Australia,"-ok") 结果 表示:(按要求完成任务) 用 黑色实线 连接数据点…

语音识别中的XML语法应用范例

本文还有配套的精品资源,点击获取 简介:XML是一种标记语言,用于数据传输和存储,而非显示。在语音识别中,它负责定义和结构化语音识别语法,通过元素如词汇、发音规则和语法限制等,帮助计算机理…

B站bilibili视频转文字字幕下载方法

本文将讲述介绍一种使用本地工具如何快速的下载B站的字幕为本地文本文件的方法。 通常获取B站字幕需要在浏览器中安装第三方插件,通过插件获取字幕。随着大模型,生成式AI,ChatGPT的应用,B站也提供了AI小助手对视频的内容进行总结…

计算机视觉图像处理基础系列:滤波、边缘检测与形态学操作

计算机视觉图像处理基础系列:滤波、边缘检测与形态学操作 一、前言二、滤波:图像的精细化处理​2.1 滤波基础概念​2.1.1 滤波的本质​2.1.2 图像噪声来源与类型​2.2 线性滤波​2.2.1 均值滤波​2.2.2 高斯滤波​2.3 非线性滤波​2.3.1 中值滤波​三、边缘检测:图像轮廓的精…

Kimi-Audio音频大模型介绍、本地部署与开发

目录 一、模型介绍 二、模型部署 1、创建工作空间 2、下载模型 3、下载依赖 4、下载模型库 5、下载glm4_tokenizer 6、代码编程修改 4 月 26 日,Moonshot AI正式宣布推出Kimi-Audio,一款全新的开源音频基础模型,旨在推动音频理解、生…