目录
个人博客系统
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)