论坛测试报告

作者前言

🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂
​🎂 作者介绍: 🎂🎂
🎂 🎉🎉🎉🎉🎉🎉🎉 🎂
🎂作者id:老秦包你会, 🎂
简单介绍:🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂
喜欢学习C语言、C++和python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨 🎂🎂🎂🎂🎂🎂🎂🎂
🎂个人主页::小小页面🎂
🎂gitee页面:秦大大🎂
🎂🎂🎂🎂🎂🎂🎂🎂
🎂 一个爱分享的小博主 欢迎小可爱们前来借鉴🎂


论坛测试报告

  • **作者前言**
  • 1.项目背景
  • 2.项目功能
  • 3. 测试内容
    • 3.1 设计测试用例
    • 3.2 功能测试
      • 3.2.1 注册测试
      • 3.2.2登入测试
      • 3.2.3 论坛首页
      • 3.2.4 发帖中心
      • 3.2.5 帖子详情页
      • 3.2.6 个人中心
      • 3.2.7 私信回复
  • 4.自动化测试
    • 4.1测试工具
    • 4.2 自动化脚本
      • 4.2.1 注册测试
      • 4.2.2登入测试
      • 4.2.3 论坛首页
      • 4.2.4 发帖中心
      • 4.2.5 帖子详情页
      • 4.2.6 我的帖子
      • 3.2.7 私信回复
  • Bug简述
  • 测试总结
  • Gitee

1.项目背景

本项目是一个论坛系统,采用前后端分离的方式实现,该系统旨在为用户提供一个基于 Web 的文章发布和讨论平台。
用户可以进行注册登录、查看和修改个人信息,进行帖子的增删改查等基础操作。
用户可以点赞、评论帖子,私信其他用户,并在帖子详情页上查看点赞数和阅读量等信息。

2.项目功能

注册模块:在本页面中,用户可以透过注册获取账号和密码,用于登入,注册过程中需要用户输入用户名、昵称、密码、等操作完成注册。

登入模块用户可以通过注册来的账号进行登入,输入正确的账号和密码进行登入,登入成功将会跳转到论坛首页

论坛首页:论坛首页包含有用户相关显示信息、论坛分类、帖子、帖子搜索、发布帖子等功能。当点击相关的按钮会进行跳转到对应的页面进行操作。

个人中心:主要包含有用户的信息,可以更换用户的头像,进行用户密码的更改等功能。

帖子详情页:主要包含了用户发送帖子的内容、标题、回复评价、私信用户等功能,

发帖子中心:具备了发帖子的基本要是,发送模块、发送内容、发送标题等相关功能

私信中心:可以回复私信等功能

3. 测试内容

3.1 设计测试用例

设计测试用例可以从功能测试、性能测试、兼容性测试、易用性测试、界面测试、安全性测试进行入手、本次测试用例主要针对的是该页面各个模块的功能测试,
在这里插入图片描述

3.2 功能测试

3.2.1 注册测试

界面:
在这里插入图片描述
测试用例1: 用户名(TestUser)、昵称(TestUser)、密码(123456)、确认密码全部填写,点击条款
预期结果:注册正常,可以进行登入
实际结果:注册成功,跳转登入界面
在这里插入图片描述
**测试用例2:**输入已经注册过的用户名(TestUser)、昵称(TestUser)、密码(123456)、确认密码全部填写,点击条款
预期结果:注册失败
实际结果:注册失败,右下角弹窗出用户已存在
在这里插入图片描述
测试用例3:用户名(TestUse)、昵称(TestUser)、密码(123456)、确认密码全部填写,不点击条款
预期结果: 注册失败
实际结果: 无法注册
在这里插入图片描述
测试用例4: 用户名(TestUse)、昵称(TestUser)、密码(123456)、确认密码全部不填写,点击条款
预期结果: 注册失败
实际结果: 无法注册
在这里插入图片描述

3.2.2登入测试

界面:
在这里插入图片描述
测试用例1: 输入正确的用户名(TestUser)、密码(123456)
预期结果:登入正常,页面跳转
实际结果:登入正常,页面跳转
在这里插入图片描述
测试用例2: 输入未注册的用户名(TestUser1)、密码(123456)
预期结果:不能登入正常,
实际结果:不能正常登陆, 右下角提示错误
在这里插入图片描述
测试用例3: 不输入的用户名(TestUser)和密码(123456)
预期结果:不能登入正常,
实际结果:不能正常登陆, 输入框提示错误。
在这里插入图片描述

3.2.3 论坛首页

界面:
在这里插入图片描述
测试用例1:点击不同模块
预期结果:可以切换不同的帖子列表
实际结果:可以切换不同的帖子列表
在这里插入图片描述
测试用例2:点击java模块,点击右上角的搜索框,输入1。进行查找
预期结果:查找出所有的1为标题的帖子
实际结果:不能查找,然后框内容情况
在这里插入图片描述
测试用例3:点击右上角的白夜模式切换
预期结果:白天、夜天模式切换正常
实际结果:白天、夜天模式切换正常,页面颜色改变
在这里插入图片描述
测试用例4:点击右上角的私信通知
预期结果:打开成功,获取所以私信的内容
实际结果:打开成功,获取所以私信的内容
在这里插入图片描述
测试用例5:点击右上角的头像,点击下拉框中的个人中心
预期结果:点击成功,跳转到个人中心
实际结果:点击成功,跳转到个人中心
在这里插入图片描述
测试用例6:点击右上角的头像,点击下拉框中的我的帖子
预期结果:点击成功,跳转到帖子中心
实际结果:点击成功,跳转到帖子中心
在这里插入图片描述
测试用例7:点击帖子列表中的帖子
预期结果:点击成功,跳转到帖子详情页
实际结果:点击成功,跳转到帖子帖子详情页
在这里插入图片描述
测试用例8:点击帖子列表的右上角的发帖按钮
预期结果:点击成功,跳转到发帖中心
实际结果:点击成功,跳转到发帖中心
在这里插入图片描述

3.2.4 发帖中心

界面:
在这里插入图片描述
测试用例1: 不输入标题,输入内容,点击发布帖子
预期结果:发送失败,帖子无标题
实际结果:发帖失败,右下角出现提示
在这里插入图片描述
测试用例2: 输入标题,不输入内容,点击发布帖子
预期结果:发送失败,帖子无标题
实际结果:发帖失败,右下角出现提示
在这里插入图片描述

测试用例3: 输入标题,输入内容,点击发布帖子
预期结果:发送成功
实际结果:发帖成功,页面跳转到首页
在这里插入图片描述

3.2.5 帖子详情页

界面:
在这里插入图片描述
测试用例1: 点击点赞
预期结果:点赞成功
实际结果:点赞成功、可以多次点赞,点赞数量增加
在这里插入图片描述
测试用例2: 点击用户名
预期结果:跳转到发帖中心
实际结果:跳转成功
在这里插入图片描述

测试用例3: 不输入回复内容,点击发送回复
预期结果:回复失败
实际结果:回复失败
在这里插入图片描述
测试用例4: 输入回复内容,点击发送回复
预期结果:回复成功
实际结果:回复成功,回复数量增加
在这里插入图片描述
测试用例5: 点击私信按钮, 输入回复内容,点击发送发送
预期结果:发送成功
实际结果:回复发送
在这里插入图片描述

3.2.6 个人中心

测试用例1:输入新的昵称进行修改
预期结果:修改成功
实际结果:修改成功
在这里插入图片描述

测试用例2:输入新的邮箱进行修改
预期结果:修改成功
实际结果:修改成功
在这里插入图片描述

测试用例3:输入新的手机号码进行修改
预期结果:修改成功
实际结果:修改成功
在这里插入图片描述

测试用例5:不输入的昵称、邮箱、手机号码,直接进行修改
预期结果:修改失败
实际效果:修改失败
在这里插入图片描述
测试用例6:输入个人简介内容,点击修改
预期结果:修改成功
实际效果:修改成功
在这里插入图片描述

3.2.7 私信回复

测试用例1: 输入回复内容,点击发送
预期结果:回复成功
实际结果:回复成功
在这里插入图片描述
测试用例: 不输入回复内容,点击发送
预期结果:回复失败
实际结果:回复失败
在这里插入图片描述

4.自动化测试

4.1测试工具

系统: windows10
浏览器  Chrome 135.0.7049.95(正式版本) (64 位)
语言:python
模块:selenium4.0
软件: pyCharm2024.3.5

4.2 自动化脚本

4.2.1 注册测试

import datetime
import timefrom selenium.webdriver.common.by import Byfrom Common.Utials import Forumclass ForumRegisiter():driver = ""url = ""user = datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S')user1="TestUser"def __init__(self):self.driver = Forum.driverself.url = Forum.urldef go_Register(self):time.sleep(1)Forum.find_element(By.CSS_SELECTOR,"body > div > div > div > div:nth-child(1) > div > div.text-center.text-muted.mt-3 > a").click()def informetionRegister(self,user , nane, password, password2, click_1):Forum.find_element(By.CSS_SELECTOR,"#username").send_keys(user)Forum.find_element(By.CSS_SELECTOR,"#nickname").send_keys(nane)Forum.find_element(By.CSS_SELECTOR,"#password").send_keys(password)Forum.find_element(By.CSS_SELECTOR,"#passwordRepeat").send_keys(password2)if click_1:ele = Forum.find_element(By.CSS_SELECTOR,"#policy")if(ele.get_attribute("class") !="form-check-input is-valid"):ele.click()else:ele = Forum.find_element(By.CSS_SELECTOR, "#policy")if (ele.get_attribute("class") != "form-check-input is-invalid"):ele.click()Forum.imagetSave()#注册按钮Forum.find_element(By.CSS_SELECTOR, "#submit").click()self.user1 = user
forumRegiter = ForumRegisiter()

4.2.2登入测试

import timefrom selenium.webdriver.common.by import Byfrom Common.Utials import Forum
from Test.ForumRegisiter import forumRegiterclass ForumLogin:def __init__(self,):self.driver = Forum.driverself.url = Forum.urldef login(self, user =forumRegiter.user1, password ="123456"):Forum.find_element(By.CSS_SELECTOR,"#username").send_keys(user)Forum.find_element(By.CSS_SELECTOR,"#password").send_keys(password)Forum.find_element(By.CSS_SELECTOR,"#submit").click()print("登入执行完成")
foumLogin = ForumLogin()

4.2.3 论坛首页

import timeimport pyautogui
from selenium.webdriver.common.by import Byfrom Common.Utials import Forum
from Test.ForumRegisiter import forumRegiter
from Test.PostDetailsPase import postDetailsPaseclass ForumFristPase():driver = ""url = ""read = ""likes = ""comment = ""title = ""date = ""def __init__(self):self.driver = Forum.driverself.url = Forum.urldef forumList(self,name="Java"):time.sleep(2)list_1 =  Forum.find_elements(By.XPATH,'//span[@class="nav-link-title"]')#//*[@id="topBoardList"]for i in list_1:print(i.text)if(i.text == name):i.click()print(name, "点击成功")time.sleep(5)return Noneprint("点击失败")def clickPost(self, mode = "首页"):index = 0# 获取帖子标题链接self.title = Forum.find_element(By.XPATH,'//*[@id="artical-items-body"]/div[2]/div/div[2]/div[1]/a').text#获取帖子的昵称和发布时间                                         //*[@id="artical-items-body"]/div[1]/div# 发布的时间self.date = Forum.find_element(By.CSS_SELECTOR, "#artical-items-body > div:nth-child(1) > div > div.col > div.text-muted.mt-2 > div > div.col > ul > li:nth-child(2)").text# 阅读量self.read = Forum.find_element(By.CSS_SELECTOR, "#artical-items-body > div:nth-child(1) > div > div.col > div.text-muted.mt-2 > div > div.col-auto.d-none.d-md-inline > ul > li:nth-child(1)").text# 点赞量self.likes = Forum.find_element(By.CSS_SELECTOR, "#artical-items-body > div:nth-child(1) > div > div.col > div.text-muted.mt-2 > div > div.col-auto.d-none.d-md-inline > ul > li:nth-child(2)").text# 评论量self.comment = Forum.find_element(By.CSS_SELECTOR, "#artical-items-body > div:nth-child(1) > div > div.col > div.text-muted.mt-2 > div > div.col-auto.d-none.d-md-inline > ul > li:nth-child(3)").textname = Forum.find_element(By.XPATH,'//*[@id="artical-items-body"]/div[1]/div/div[2]/div[2]/div/div[1]/ul/li[1]').textprint("昵称:", name)print("发布时间:", self.date)print("阅读量:", self.read)print("点赞量:", self.likes)print("点赞量:", self.comment)# # 进入详情页Forum.find_element(By.XPATH,'//*[@id="artical-items-body"]/div[2]/div/div[2]/div[1]/a').click()# #检查是否符合postDetailsPase.start()postDetailsPase.informationPost(int(self.read),self.likes,self.comment,self.title,self.date)# #私信发送# postDetailsPase.clickPrivate(forumRegiter.user1,"11111")# # 点赞# postDetailsPase.clikeLike()# # 回复postDetailsPase.clikeComment()# #换到对应模块# self.forumList(mode)## time.sleep(2)return Nonedef inputBox(self, content):Forum.find_element(By.CSS_SELECTOR,"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").send_keys(content)pyautogui.press('enter')Forum.imagetSave()return None# 帖子发送def postSend(self):Forum.find_element(By.CSS_SELECTOR,"#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()self.forumList("首页")print("点击帖子发送")time.sleep(10)Forum.imagetSave()return None# 模式切换def modeSwitch(self):try:Forum.find_element(By.CSS_SELECTOR,"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").click()except:Forum.find_element(By.CSS_SELECTOR,"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-light").click()Forum.imagetSave()return None#私信箱def privateMailbox(self):Forum.find_element(By.CSS_SELECTOR,"body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div:nth-child(2) > div > a").click()time.sleep(1)Forum.imagetSave()Forum.find_element(By.CSS_SELECTOR, "#index_message_offcanvasEnd > div.offcanvas-header > button").click()return None#我的帖子def mePost(self):time.sleep(2)Forum.find_element(By.CSS_SELECTOR,"body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div.nav-item.dropdown > a").click()Forum.find_element(By.CSS_SELECTOR,"#index_user_profile").click()self.forumList("首页")Forum.imagetSave()return None#个人中心def personalCent(self):Forum.find_element(By.CSS_SELECTOR,"body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div.nav-item.dropdown > a").click()Forum.find_element(By.CSS_SELECTOR, "#index_user_settings").click()Forum.imagetSave()self.forumList("首页")return None
forumfristPase = ForumFristPase()

4.2.4 发帖中心

import timefrom selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Selectfrom Common.Utials import Forumclass PostSend:driver = ""url = ""def __init__(self):self.driver = Forum.driverself.url = Forum.urlForum.find_element(By.CSS_SELECTOR, "#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()print("点击帖子发送")def contentInput(self, model = 1,title = "111",content = "1111"):select = Select(Forum.find_element(By.CSS_SELECTOR,"#article_post_borad"))select.select_by_index(model)Forum.find_element(By.CSS_SELECTOR,"#article_post_title").send_keys(title)Forum.find_element(By.CSS_SELECTOR,"#edit-article > div.editormd-toolbar > div > ul > li:nth-child(4) > a").click()self.driver.execute_script("arguments[0].click();", Forum.find_element(By.XPATH,'//*[@id="article_post_submit"]'))print("发送帖子")

4.2.5 帖子详情页

import timefrom selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Selectfrom Common.Utials import Forum
# from Test.ForumFristPase import forumfristPase
from Test.ForumRegisiter import forumRegiter# 前台需要进入帖子详情页
class PostDetailsPase:driver = ""url = ""def __init__(self):self.driver = Forum.driverself.url = Forum.urldef start(self):time.sleep(2)# 标题self.title = Forum.find_element(By.CSS_SELECTOR, "#details_article_title").text# 发布的时间self.date = Forum.find_element(By.CSS_SELECTOR, "#details_article_createTime").text# 阅读量self.read = Forum.find_element(By.CSS_SELECTOR, "#details_article_visitCount").text# 点赞量self.likes = Forum.find_element(By.CSS_SELECTOR, "#details_article_likeCount").text# 评论量self.comment = Forum.find_element(By.CSS_SELECTOR, "#details_article_replyCount").text# 进入了帖子详情页# 判断def informationPost(self,read , likes, comment,title,date):#标题if(self.title != title):print("标题有误")return False# 发布的时间if (self.date != date):print("发布时间有误")return False#阅读量if ( int(self.read)-1 != int(read)):print("阅读量有误")return False# 点赞量if ( self.likes != likes):print("点赞量有误")return False# 点赞量if ( self.self.comment  != likes):print("点赞量有误")return Falsereturn True# 点击私信发送def clickPrivate(self, name, content):#非本人if(Forum.find_element(By.CSS_SELECTOR,"#article_details_author_name").text != name):# 点击私信Forum.find_element(By.CSS_SELECTOR,"#btn_details_send_message").click()#发送私信Forum.find_element(By.CSS_SELECTOR,"#index_message_receive_content").send_keys(content)Forum.find_element(By.CSS_SELECTOR, "#btn_index_send_message").click()Forum.imagetSave()Forum.find_element(By.CSS_SELECTOR,"#index_message_modal > div > div > div.modal-header > button").click()print("私信发送完毕")#点赞def clikeLike(self):time.sleep(2)Forum.find_element(By.CSS_SELECTOR,"#details_btn_like_count").click()time.sleep(2)if(int(Forum.find_element(By.CSS_SELECTOR, "#details_article_likeCount").text) ==int(self.likes)+1):self.likes = Forum.find_element(By.CSS_SELECTOR, "#details_article_likeCount").textprint("点赞成功")else:print("点赞失败")#回复加发私信def clikeComment(self):#输入内容self.driver.execute_script("arguments[0].click();",Forum.find_element(By.CSS_SELECTOR,"#article_details_reply > div.editormd-toolbar > div > ul > li:nth-child(14) > a"))# 发送self.driver.execute_script("arguments[0].click();",Forum.find_element(By.XPATH, '//*[@id="details_btn_article_reply"]'))print("发送运行成功")time.sleep(6)# 私信发送try:name = Forum.find_element(By.XPATH,'//*[@id="details_reply_area"]/div[1]/div[1]/div/h3/a').textprint(name)if(name != forumRegiter.user1):#发私信Forum.find_element(By.CSS_SELECTOR,"#details_reply_area > div > div.col-3.card > div > div > a").click()Forum.find_element(By.CSS_SELECTOR, "#index_message_receive_content").send_keys("11111")Forum.find_element(By.CSS_SELECTOR, "#btn_index_send_message").click()Forum.imagetSave()Forum.find_element(By.CSS_SELECTOR, "#index_message_modal > div > div > div.modal-header > button").click()except:pass# 获取评论用户Forum.find_element(By.XPATH, '//div[@id="details_reply_area"]//a[@class="a_reply_user_profile"]').click()time.sleep(2)# forumfristPase.forumList("首页")
postDetailsPase = PostDetailsPase()

4.2.6 我的帖子


import timefrom selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Selectfrom Common.Utials import Forum
from Test.ForumFristPase import forumfristPase
from Test.ForumRegisiter import forumRegiter
class Mepost():driver = ""url = ""def __init__(self):self.driver = Forum.driverself.url = Forum.urldef post(self):forumfristPase.forumList("首页")time.sleep(2)Forum.find_element(By.CSS_SELECTOR,"body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div.nav-item.dropdown > a").click()Forum.find_element(By.CSS_SELECTOR, "#index_user_profile").click()# 获取当前的帖子数量time.sleep(2)post_1 = int(Forum.find_element(By.CSS_SELECTOR,"#profile_articleCount").text)#实际的帖子数量lis_1 = Forum.find_elements(By.XPATH, '//*[@id="profile_article_body"]/li')for i in lis_1:post_1-=1if(post_1 < 0):print("帖子数量有误")return None

3.2.7 私信回复

import timefrom selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Selectfrom Common.Utials import Forumclass ReplyPrivate:driver = ""url = ""def __init__(self):self.driver = Forum.driverself.url = Forum.urldef Reply(self,content = "11111"):time.sleep(1)Forum.find_element(By.CSS_SELECTOR,"body > div.page > header.navbar.navbar-expand-md.navbar-light.d-print-none > div > div > div:nth-child(2) > div > a").click()time.sleep(1)Forum.imagetSave()# 获取所有的私信i= Forum.find_element(By.XPATH,'//div[@id="index_div_message_list"]/div//a[@class="text-body d-block index_message_title"]')print(i.get_attribute("href"))time.sleep(1)self.driver.execute_script("arguments[0].click();", i)time.sleep(1)# 回复self.driver.execute_script("arguments[0].click();",Forum.find_element(By.CSS_SELECTOR, "#btn_index_message_reply"))Forum.find_element(By.CSS_SELECTOR, "#index_message_reply_receive_content").send_keys(content)Forum.find_element(By.CSS_SELECTOR, "#btn_index_send_message_reply").click()try:Forum.find_element(By.CSS_SELECTOR, "#index_message_offcanvasEnd > div.offcanvas-header > button").click()time.sleep(12)except:passForum.imagetSave()

Bug简述

bug1:

版本 135.0.7049.96(正式版本) (64 位)
环境:Windons10
步骤:进入论坛主页,点击模块
预期结果:模块信息正常,功能正常切换
实际结果:模块信息存在缺陷,功能正常切换

Bug2

版本 135.0.7049.96(正式版本) (64 位)
环境:Windons10
步骤:进入论坛主页,点击右上角搜索框,输入内容
预期结果:搜索正常,功能正常切换
实际结果:搜索不成功,功能不正常

Bug3:

版本 135.0.7049.96(正式版本) (64 位)
环境:Windons10
步骤:进入论坛主页,点击头像,点击个人主页,更换头像,
预期结果:更换成功
实际结果:更换失败

Bug4

版本 135.0.7049.96(正式版本) (64 位)
环境:Windons10
步骤:进入论坛主页,点击帖子列表的帖子,跳转页面, 点击点赞按钮,
预期结果:每个用户只能点赞一次
实际结果:可以无限点赞

Bug5

版本 135.0.7049.96(正式版本) (64 位)
环境:Windons10
步骤:进入论坛主页,点击帖子列表的自己帖子,跳转页面, 进帖子删除或者修改
预期结果:可以删除或者修改
实际结果:个人帖子无删除和修改按钮

测试总结

本次测试覆盖了注册、登入、论坛主页面、个人中心、帖子详情页、私信回复等相关模块功能的测试。从中总结如下:

  1. 功能测试:部分模块存在功能未完善或者部分完善的状态,严重影响软件使用
  2. 界面测试:测试过程中,部分模块存在数值不准确,界面显示
  3. 易用性测试:测试过程中,存在较大问题,点击返回页面,直接跳转到登入界面,以及注册没有注册成功标识等
    结论:基本功能大部分可以使用、用户体验感较差,缺失功能的模块应该增加修复速度。进一步完善。

Gitee

论坛测试脚本

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

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

相关文章

npx 的作用以及延伸知识(.bin目录,npm run xx 执行)

文章目录 前言原理解析1. npx 的作用2. 为什么会有 node_modules/.bin/lerna3. npx 的查找顺序4. 执行流程总结1&#xff1a; 1. .bin 机制什么是 node_modules/.bin&#xff1f;例子 2. npx 的底层实现npx 是如何工作的&#xff1f;为什么推荐用 npx&#xff1f;npx 的特殊能力…

【c语言】深入理解指针3——回调函数

一、回调函数 回调函数&#xff1a;通过函数指针调用的函数. 当把一个函数的地址传递给另一个函数&#xff0c;通过该地址去调用其指向的函数&#xff0c;那么这个被调用的函数就是回调函数. 示例&#xff1a; 在【深入理解指针2】中结尾写了用函数指针实现计算器的功能&#…

HTTP 核心概念

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

VidBot:从野外 2D 人体视频中学习可泛化的 3D 动作,实现零样本机器人操控

25年3月来自慕尼黑工大、瑞士 ETH 和微软的论文“VidBot: Learning Generalizable 3D Actions from In-the-Wild 2D Human Videos for Zero-Shot Robotic Manipulation”。 未来的机器人被设想为能够执行各种家务的多功能系统。最大的问题仍然是&#xff0c;如何在尽量减少机器…

Linux 日常运维命令大全

Linux 作为一种开源操作系统&#xff0c;在服务器运维中扮演着重要角色。掌握常用的 Linux 命令对于运维人员而言至关重要。本文将整理一份 Linux 服务器运维常用命令大全&#xff0c;帮助你在日常工作中提高效率和准确性。 1. 基础命令 基础命令是Linux操作的起点&#xff0…

编程规范之枚举

编程规范之枚举 1.1 初始化枚举项 枚举平时用的也没有很频繁&#xff0c;今天看代码规范提到枚举类型初始化枚举项。并对初始化枚举项进行了归纳。包括下面三个 不进行显示初始化&#xff0c;交由编译器完成。 对第一个枚举项的显式初始化&#xff0c;这样可以强制整数值的…

《软件设计师》复习笔记(12.1)——范围管理、进度管理

目录 一、范围管理 1. 核心概念 2. 范围管理过程 WBS&#xff08;工作分解结构&#xff09;示例 真题示例&#xff1a; 二、进度管理 1. 核心过程 2. 关键工具与技术 真题示例&#xff1a; 一、范围管理 1. 核心概念 项目范围&#xff1a;为交付产品必须完成的工作…

过去十年前端框架演变与技术驱动因素剖析

一、技术演进脉络&#xff08;2013-2023&#xff09; 2013-2015&#xff1a;结构化需求催生框架雏形 早期的jQuery虽然解决了跨浏览器兼容性问题&#xff08;如IE8兼容性处理&#xff09;&#xff0c;但其松散的代码组织方式难以支撑复杂应用开发。Backbone.js的出现首次引入M…

中华传承-医山命相卜-梅花易数

梅花易数 灵活起卦&#xff08;如数字、声音、外应等&#xff09;和象数结合&#xff0c;准确率可达96.8%。其起卦方式摆脱传统龟壳、蓍草的繁琐&#xff0c;强调直觉与灵活性。 个人决策、事件预测等 尤其在短期、具体问题上表现突出。

如何用Brower Use WebUI实现网页数据智能抓取与分析?

作者&#xff1a;算力魔方创始人/英特尔创新大使刘力 Browser-use是一款能让AI智能体像人类一样操作网页的创新工具&#xff0c;与传统网络爬虫技术相比&#xff0c;Browser-use能模拟人浏览并操作网页&#xff0c;在采集网站数据时&#xff0c;不会被网站反爬机制识别和封禁&…

LIMS引领综合质检中心数字化变革,赋能质量强国战略

在质量强国战略的深入推进下&#xff0c;我国综合质检机构迎来了前所未有的发展机遇&#xff0c;同时也面临着诸多严峻挑战。随着检测领域从传统的食品药品监督向环境监测、新材料检测等新兴领域不断拓展&#xff0c;跨领域协同管理的复杂度呈指数级增长。作为提升产品质量的关…

简单好用的在线工具

用AI写了一些在线工具&#xff0c;简介好用&#xff0c;推荐给大家&#xff0c;欢迎大家使用并提议意见。 网址&#xff1a;https://www.bittygarden.com/ 目前已有以下功能&#xff1a; MD5SM3SHAUnicode 编码Unicode 解码Base32 编码Base32 解码Base64 编码Base64 解码URL …

阿里云服务器搭建开源版禅道

一&#xff0c;下载地址&#xff1a;禅道11.5版本发布&#xff0c;主要完善细节&#xff0c;修复bug&#xff0c;新增动态过滤机制 - 禅道下载 - 禅道项目管理软件 下载地址二&#xff1a; 禅道21.6.stable 实现旧编辑器撰写的文档无感升级至新版编辑器 - 禅道下载 - 禅道项目…

leetcode 309. Best Time to Buy and Sell Stock with Cooldown

目录 题目描述 第一步&#xff0c;明确并理解dp数组及下标的含义 第二步&#xff0c;分析并理解递推公式 1.求dp[i][0] 2.求dp[i][1] 3.求dp[i][2] 第三步&#xff0c;理解dp数组如何初始化 第四步&#xff0c;理解遍历顺序 代码 题目描述 这道题与第122题的区别就是卖…

嵌入式硬件常用总线接口知识体系总结和对比

0.前言 在嵌入式工程实现中,多多少少我们都使用过总线,各种各样的总线应用于不同场合,不同场景有不同的优势,但是我们在作为工程师过程中在如何选择项目合适的总线,根据什么来选?需要我们对项目全局和总线特征有所了解,本文目的就是对比多种总线的关键特征 我们在聊到…

数据分析处理库Pandas常用方法汇总

目录 一、基础操作 1.1 创建df对象 1.1.1 读入表格数据 1.1.2 手动创建df 1.2 .info() 1.3 df.index 1.4 df.columns 1.5 df.dtypes 1.6 df.values 1.7 .set_index() 1.8 df[xxx] 1.9 .describe() 1.10 .isin() 1.12 .where() 1.13 .query() 1.14 Series类型运算…

智慧大屏系统

延凡智慧大屏系统旨在打破数据壁垒&#xff0c;将海量、复杂的数据转化为直观易懂的可视化图形和信息&#xff0c;广泛应用于城市管理、企业运营、交通指挥、能源监控等多个领域&#xff0c;为管理者、决策者提供全面、实时、精准的信息展示和分析工具&#xff0c;助力高效决策…

树莓派超全系列教程文档--(32)config.txt常用音频配置

config.txt常用音频配置 板载模拟音频&#xff08;3.5mm耳机插孔&#xff09;audio_pwm_modedisable_audio_ditherenable_audio_ditherpwm_sample_bits HDMI音频 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 板载模拟音频&#xff08;3.5mm耳机…

23种设计模式全面解析

设计模式是解决软件设计中常见问题的经典方案。根据《设计模式&#xff1a;可复用面向对象软件的基础》&#xff08;GoF&#xff09;&#xff0c;23种设计模式分为以下三类&#xff1a; 一、创建型模式&#xff08;5种&#xff09; 目标&#xff1a;解耦对象的创建过程&#x…

AI 推理框架详解,包含如COT、ReAct、LLM+P等的详细说明和分类整理,涵盖其原理、应用场景及对比分析

AI 推理引擎 以下是关于 AI 推理引擎 的详细说明&#xff0c;涵盖其定义、类型、核心组件、技术实现、应用场景及挑战&#xff1a; 1. 推理引擎的定义 推理引擎&#xff08;Inference Engine&#xff09;是 AI系统的核心组件&#xff0c;负责根据输入数据、知识库或预训练模…