前段时间给手头一个博客系统补了自动化测试,用 Python + Selenium。套路不复杂,但有几个点踩过坑之后觉得还是要记一下。

测试范围
系统不大,核心就是登录、博客列表、博客详情这几个高频操作,所以没搞全覆盖。用例按'正常路径 + 一个典型异常'来设计,够用,也不至于写一堆一年跑不了两次的脚本。
脚本结构
项目结构大致这样:
common/Utils.py:初始化 ChromeDriver、截图cases/BlogLogin.py:登录(成功 + 失败)cases/BlogList.py:列表页检查与跳转cases/BlogDetail.py:详情页元素验证cases/RunCases.py:用例串联入口
通用工具
ChromeDriver 用 webdriver-manager 自动管理,省得手动下载。截图按日期分目录,文件名带用例名和时间戳,回看的时候容易定位。
import datetime
import os.path
import sys
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
class Driver:
driver = ""
def __init__(self):
options = webdriver.ChromeOptions()
# options.page_load_strategy = 'eager'
self.driver = webdriver.Chrome(
service=Service(ChromeDriverManager().install()),
options=options
)
def getScreenShot(self):
dirname = datetime.datetime.now().strftime('%Y-%m-%d')
if not os.path.exists("../images/" + dirname):
os.mkdir( + dirname)
filename = (
sys._getframe().f_back.f_code.co_name
+
+ datetime.datetime.now().strftime()
+
)
.driver.save_screenshot( + filename)
BlogDriver = Driver()




