基于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)
经验分享 程序员 微信小程序 职场和发展