当前位置: 首页 > wzjs >正文

厂家营销型网站建设网站知识介绍

厂家营销型网站建设,网站知识介绍,wordpress高级破解主题,wordpress 数据库 nginx1.项目简介 博客系统是一款面向个人创作者、企业及技术爱好者设计的内容管理平台,旨在为用户提供高效、灵活的内容发布与管理解决方案。系统通过模块化架构实现多场景适配,兼顾轻量化与可扩展性,满足从个人记录到企业信息发布的多层次需求。…

1.项目简介

博客系统是一款面向个人创作者、企业及技术爱好者设计的内容管理平台,旨在为用户提供高效、灵活的内容发布与管理解决方案。系统通过模块化架构实现多场景适配,兼顾轻量化与可扩展性,满足从个人记录到企业信息发布的多层次需求。

用户端提供直观的内容展示界面,支持文章分类检索、全文搜索及跨设备响应式布局。读者可通过评论、点赞与社交分享功能参与互动,增强内容传播效果。管理后台集成文章编辑(支持Markdown与富文本)、多用户权限管理及数据统计模块,管理员可实时监控访问流量、用户行为等关键指标,优化运营策略。扩展功能涵盖SEO工具、多语言切换及第三方登录接口,进一步提升平台适用性。

2.测试用例

设计一个项目的测试用例主要从以下六个方面进行,功能测试,性能测试,兼容性测试,安全测试,界面测试,易用性测试。

3.执行测试

3.1用户登录界面测试

3.1.1界面显示是否正常

        页面包括用户名输入框和密码输入框,以及登录提交按钮(在输入密码时进行密文展示)

   

3.1.2登录功能是否正常

        正确输入的情况:

        错误输入的情况:

此时会出现输入错误提示框,点击确定后立即返回登陆界面

3.2博客首页测试

3.2.1界面显示是否正常

        在登录界面输入正确的账号和密码后进入博客首页界面,并正确展示出用户名称,头像,以及文章分类和博客列表

3.2.2我的博客系统菜单栏是否正常

        点击写博客会跳转到博客编辑页面,在此页面时再点击主页则退回到博客首页面,此时标题栏旁边的选项为发布文章

3.3博客详情页测试

3.3.1界面显示是否正常

页面存在用户名,文章分类,以及编辑,删除等元素,详情页中展示的内容正常没有出现乱码或空白的情况则正常

      

        对博客的修改也是成功的

3.3.3删除博客功能是否正常

        点击删除选项后会弹出确认提示框,再点击确认后博客就会被正常删除,点击取消则不变

3.4博客编辑页测试

3.4.1界面显示是否正常

        

3.4.2编辑发布博客功能是否正常

       

4.基于python以及Selenium实现的自动化测试

基于 Python 和 Selenium 的自动化测试通过模拟真实用户操作实现对 Web 应用程序的自动化验证,其核心原理依赖于 Selenium WebDriver 与浏览器内核的深度交互。测试脚本通过 Python 调用 Selenium 提供的 API 接口,将用户行为(如点击、输入、页面跳转)转换为浏览器可执行的指令。

基本步骤为:下载驱动->创建驱动->调用Selenium提供的接口来对页面进行我们的自动化操作

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager#下载驱动
ChromeIns=ChromeDriverManager().install()
#创建谷歌浏览器的驱动
driver=webdriver.Chrome(service=Service(ChromeIns))
#输入百度网址
driver.get("https://www.baidu.com")
time.sleep(2)
#输入关键词
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("牢大")
time.sleep(2)
#点击百度一下按钮
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
#关闭浏览器
driver.quit()

Until文件

由此可知我们在每一次进行测试之前都要进行下载驱动和创建驱动,浏览器对象是每个页面都会调用的(多次创建消耗性能),所以把创建浏览器对象单独拿出来放到一个文件中,这里使用Until.py 文件。

#Util
#创建一个浏览器对象
import datetime
import os.path
import sysfrom selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManagerclass Driver:driver = ""def __init__(self):options = webdriver.ChromeOptions()self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)#隐式等待#在页面内容较为丰富时,通常代码执⾏的速度⽐⻚⾯渲染的速度要快,如果避免因为渲染过慢出现的⾃动化误报的问题呢?可# 以使⽤selenium中提供的三种等待⽅法:强制,显示,隐式self.driver.implicitly_wait(2)#截图进阶def getScreeShot(self):#创建屏幕截图#图片文件名称:./2024-05-08-173456.pngdirname = datetime.datetime.now().strftime("%Y-%m-%d")#判断dirname文件夹是否已经存在,若不存在则创建文件夹# ../images/2024-05-08if not os.path.exists("../images/"+dirname):os.mkdir("../images/"+dirname)#2024-05-08-173456.png#图片路径:../images/调用方法-2024-05-08/2024-05-08-173456.png#图片路径:../images/LoginSucTest-2024-05-08/2024-05-08-173456.png#图片路径:../images/LoginFailTest-2024-05-08/2024-05-08-173456.pngfilename = sys._getframe().f_back.f_code.co_name+"-"+datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S")+".png"self.driver.save_screenshot("../images/"+dirname+"/"+filename)BlogDriver = Driver()

RunTest文件

        设置一个主函数(if __name__ == "__main__":),来测试个个页面是否能正常运行

from common.Utils import BlogDriver
from tests import BlogLogin
from tests import BlogList
from tests import BlogDetail
from tests import BlogEdit
from common.Utils import BlogDriverif __name__ == "__main__":#BlogLogin.BlogLogin().LoginFailTest()BlogLogin.BlogLogin().LoginSucTest()#登陆成功之后就可以调用博客首页测试首页的用例(登陆状态)BlogList.BlogList().ListTestByLogin()#测试登录状态下的博客详情页BlogDetail.BlogDeail().DetailTestByLogin()#博客编辑页面BlogEdit.BlogEdit().EditSucTestByLogin()#指定浏览器的退出BlogDriver.driver.quit()

Blogtest文件

        a.BlogLogin

        通过driver进入登录界面,输入正确或不正确的账号密码

import timefrom selenium.webdriver.common.by import By
from common.Utils import BlogDriver#测试博客登录页面
class BlogLogin:url = ""driver = ""def __init__(self):self.url = "http://8.137.19.140:9090/blog_login.html"self.driver = BlogDriver.driverself.driver.get(self.url)# 成功登录def LoginSucTest(self):self.driver.find_element(By.CSS_SELECTOR,"#username").send_keys("zhangsan")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("123456")#能找到博客页面的用户名称则登陆成功self.driver.find_element(By.CSS_SELECTOR, "#submit").click()time.sleep(2)#self.driver.quit()#失败登录def LoginFailTest(self):self.driver.find_element(By.CSS_SELECTOR, "#username").send_keys("zhangsan")self.driver.find_element(By.CSS_SELECTOR, "#password").send_keys("12345")self.driver.find_element(By.CSS_SELECTOR, "#submit").click()# 能找到博客中登录失败的提醒actual=self.driver.find_element(By.CSS_SELECTOR, "").text()login = BlogLogin()
#login.LoginSucTest()
#login.LoginFailTest()

正确情况下进入博客列表页:


错误情况下出现密码错误提示框:

        b.BlogList

from selenium.webdriver.common.by import Byfrom common.Utils import BlogDriver
#博客首页测试用例
class BlogList:url = ""driver = ""def __init__(self):self.url = "http://8.137.19.140:9090/blog_list.html"self.driver = BlogDriver.driverself.driver.get(self.url)#测试首页(登录情况下)def ListTestByLogin(self):#测试博客标题是否存在self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1) > div.title")#测试博客内容是否存在self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1) > div.desc")#测试按钮是否存在self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1) > a")#个人信息-检查昵称是否存在self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.left > div > h3")#添加屏幕截图BlogDriver.getScreeShot()#测试首页(未登录情况下)#未登录情况下会自动跳转到博客登录界面

测试成功,所有查找的元素都存在则无报错

        c.BlogDetail

from selenium.webdriver.common.by import Byfrom common.Utils import BlogDriver
#测试博客详情页
class BlogDeail:url = ""driver = ""def __init__(self):self.url = "http://8.137.19.140:9090/blog_detail.html?blogId=19181"self.driver = BlogDriver.driverself.driver.get(self.url)#登陆状态下博客详情页的测试def DetailTestByLogin(self):#检查标题self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div > div.title")#检查时间self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div > div.date")#检查内容self.driver.find_element(By.CSS_SELECTOR,"#h2-u5728u8FD9u91CCu5199u4E0Bu4E00u7BC7u535Au5BA2")#屏幕截图BlogDriver.getScreeShot()

     

  d.BlogEdit

import timefrom selenium.webdriver.common.by import Byfrom common.Utils import BlogDriver
#测试博客编辑页面
class BlogEdit:url = ""driver = ""def __init__(self):self.url = "http://8.137.19.140:9090/blog_edit.html"self.driver = BlogDriver.driverself.driver.get(self.url)#正确发布博客(登陆状态下)def EditSucTestByLogin(self):self.driver.find_element(By.CSS_SELECTOR,"#title").send_keys("自动化测试创建")#找到编辑区域,输入关键词(编辑区域不可操作)#菜单栏无法元素无法定位#博客系统编辑区域默认情况下就不为空,可以暂不处理#直接点击发布按钮来发布博客self.driver.find_element(By.CSS_SELECTOR,"#submit").click()#点击完成之后出现页面的跳转,页面跳转需要加载时间,可能会出现代码执行的速度比页面渲染的速度要快,导致元素查找不到,因此可以添加等待#添加隐式等待和显示等待都可以,任选择一个#隐式等待:创建浏览器对象之后就可以加上,因为隐式等待的作用域在driver整个生命周期#显示等待:可以作用在当前代码中#actual=self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(10) > div.title").text#assert actual == "自动化测试创建"#屏幕截图BlogDriver.getScreeShot()

总结:

通过本次学习,掌握了 Python 自动化测试的核心技术栈,能够独立完成 Web自动化测试脚本开发,并设计可维护的测试框架。未来需进一步结合工程化思维,提升测试覆盖率与执行效率,向测试开发全链路能力进阶。

5.软件测试-性能测试

基于jmeter实现的性能测试

1.在jmeter中实现一个简单的http请求

先创建一个线程组,可以包含多个http请求,但我们现在只创建一个

配置http请求相关内容

这些配置来源于login的Curl(bash)

创建一个查看结果树,来查看请求运行的结果

2.使用jmeter来模仿多个用户的访问

3.添加其他页面的http请求

可以看到这里添加博客列表页后出现了一个401的异常

我们先看一看出现错误的原因,原因是缺少了目标资源的有效认证凭证,说人话就是缺少了用户的登陆凭证,在访问列表页面时无法确认登录状态

我们先在postman上面实验一下,看看加上用户凭证能不能成功

结果成功了,我们在jmeter来实现一下

在jmeter中添加请求头的方法

在信息头管理器里面用户登录凭证用JSON表达式来表示(${token})

3.添加一个博客

这里发现失败了

使用网页和postman再发送,对比一下请求头和请求体

发现请求头中的 content-type 不一致

再次编辑博客页设置请求头参数

将content- type 设置为application/json

运行后,响应成功了

4.同步定时器

JMeter同步定时器的作⽤主要在于模拟多⽤⼾并发访问的场景,确保多个线程能够同时执⾏某个操
作,以达到真正的并发效果。
当多个线程同时启动时,它们可能会在不同的时间间隔内执⾏,这样就⽆法达到真正的并发效果。同
步定时器的作⽤就是将这些线程的执⾏时间同步,使它们在同⼀时间点执⾏。它可以在多个线程之间
制造⼀定的延迟,直到同时到达指定时间点,再同时执⾏后续的操作。
此外,同步定时器可以理解为集合点,当线程数量达到指定值后,再⼀起释放,可以瞬间产⽣很⼤的
压⼒。这样,可以更好地模拟真实的⽤⼾并发访问场景,提⾼测试的准确性和可靠性。
在性能测试过程中,为了真实模拟多个⽤⼾同时进⾏操作以度量服务器的处理能⼒,可以使⽤同步定
时器来设置集合点。不过,虽然通过加⼊集合点可以约束请求同时发送,但不能确保请求同时到达服
务器,所以只能说是较真实模拟并发。

5.事务控制器

JMeter事务控制器的作⽤主要⽤于测试执⾏嵌套测试元素所花费的总时间。这相当于模拟⽤⼾进⾏⼀
系列操作的测试。
在进⾏⻚⾯性能测试或API性能测试时,事务控制器是⼀个⾮常重要的⼯具。它可以帮助测试⼈员更准
确地评估系统性能,尤其是在涉及多个接⼝或操作的复杂场景中。例如,在订单提交的过程中,可能
需要调⽤多个接⼝,并且某些接⼝可能依赖于前⼀个接⼝的结果。在这种情况下,使⽤事务控制器可
以将这些接⼝统⼀视为⼀个事务进⾏性能测试,从⽽得到更接近真实场景的性能测试结果。

6.梯度压测线程组

看到这里有很多的选项具体的含义如下

http://www.dtcms.com/wzjs/827597.html

相关文章:

  • 做网站书网站建设安全规划
  • 本人找做钢筋笼的活网站公司起名字大全免费评分
  • 北京专业制作网站公司吗iis7.5网站配置
  • 宝安网站建设(深圳信科)免费网站模板 优帮云
  • 网站建设项目策划书格式世界互联网峰会概念股
  • 万域网站建设网站开发用框架开发的优缺点
  • 浙江二建建设集团有限公司网站wap手机网站 作用
  • 电子商务网站的建设费用案例做电商网站报价
  • 西安北郊做网站公司设置字体颜色的网站
  • c 做网站教程wordpress在线安装插件
  • 班级网站开发网页设计实训报告1500
  • 如何建设网站导航内链接广告制作简介
  • 网站平台在线提交功能汽车行业网站建设维护服务
  • 灰色行业做网站网站优化工具
  • 网站开发需要经过的几个主要阶段有了网站怎么做app吗
  • 营销型网站方案书新做的网站怎样推广
  • 网站建设涉及的法律游戏开发和软件开发哪个难
  • 网页设计与网站建设完全实用手册推荐做微商海报的网站
  • 网站建设项目数免费的宣传方式
  • 中小企业网站建设与管理课件百度云佛山网上业务系统
  • 南浔建设局网站ui界面素材
  • 中原区快速建站公司电话龙口网站建设公司报价
  • 即墨市城乡建设局网站seo优化入门教程
  • 重庆建设行业网站2345网址导航怎么删除干净?
  • 哈尔滨手机网站制作网络策划与营销
  • 小说阅读网站建设市场需求分析wordpress中文主题模板
  • 建设一个直播网站网页设计代码不能运行
  • 网站 开发 外包黄页应用推广
  • 网站开发答辩ppt网络维修电话
  • 建设旅游景点的网站的好处怎样在百度上做网站