基于SpringBoot+Mybatis的个人博客系统
个人博客系统
1.项目介绍
该项目是一款支持markdown编辑文章,并且可以将自己的学习笔记,生活感悟等记录在博客中的信息化系统
2.技术栈
Ajax+jQuery+SpringBoot+Mybatis+Mysql(5.7)+Maven
3.项目展示
注册页面
登录页面
用户个人文章列表
查看文章详情
全部用户文章列表(分页展示)
写博客
修改博客
删除博客
4. 项目进行自动化测试
使用slenium工具,unittest单元测试框架,ddt数据驱动,对项目的登录功能,查看文章列表功能,翻页功能,编写文章功能,退出登录功能进行自动化脚本编写
测试用例代码
from selenium import webdriver import unittest import time from ddt import ddt,unpack,data @ddt class testCase1(unittest.TestCase):#表示该类继承了单元测试框架中的TestCase类 def setUp(self): self.driver = webdriver.Chrome() self.url = "http://localhost:8089/login.html" self.driver.get(self.url) self.driver.maximize_window() time.sleep(3) def tearDown(self): self.driver.quit() @data(["王根生", "123456"],["李顺", "960420"]) @unpack def test_step1(self,value1,value2): driver = self.driver driver.find_element_by_id("username").send_keys(value1) driver.find_element_by_id("password").send_keys(value2) time.sleep(2) driver.find_element_by_id("submit").click() time.sleep(10) self.assertEqual(driver.title, "博客列表", msg="运行错误") driver.find_element_by_link_text("主页").click() time.sleep(6) driver.find_element_by_link_text("下一页").click() time.sleep(6) driver.find_element_by_link_text("写博客").click() time.sleep(6) driver.back() time.sleep(6) driver.find_element_by_link_text("退出登录").click() time.sleep(6) alert = driver.switch_to.alert alert.accept() time.sleep(6) if __name__ == __main__: unittest.main(verbosity=0)
生成测试报告测试套件脚本代码
import unittest from PY20220218 import test1 from PY20220218 import test2 import os, sys import HTMLTestRunner import time # 生成测试报告 def createSuite(): discover = unittest.defaultTestLoader.discover(../eaglewgs, pattern=tes*.py, top_level_dir=None) return discover # 执行 if __name__ == __main__: # 获取当前脚本文件所在的文件路径 curpath = sys.path[0] print(curpath) if not os.path.exists(curpath+"/resultReport"): os.mkdir(curpath + "/resultReport") now = time.strftime("%Y-%m-%d-%H %M %S",time.localtime(time.time())) filename = curpath+"/resultReport/"+now+"-"+"resultReport.html" with open(filename,wb) as fp: runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u"测试报告", description=u"测试用例执行的结果",verbosity=2) suite = createSuite() runner.run(suite)