一.项目功能
-
基础搜索功能
- 关键词搜索:支持用户输入关键词 / 短语,快速检索数据库中相关信息并展示。
- 结果排序:按相关性、质量、权威性等因素对结果排序,优先呈现匹配内容。
-
用户交互与体验
- 友好界面:简洁设计便于输入查询和浏览结果。
- 智能辅助:提供关键词高亮功能,提升效率。
- 结果预览:显示摘要或预览图,帮助用户快速筛选内容。
-
数据索引
- 数据索引:预处理数据并构建倒排索引,优化搜索速度。
二.测试报告
1.测试用例
2.功能测试
2.1输入测试
输入
测试用例 | 结果 |
List | 能被查找到并正确显示 |
1234 | 能被查找到并正确显示 |
String12 | 能被查找到并正确显示 |
* | ![]() |
你好 | 不能被查找到 |
空格 | 不能被查找到 |
测试截图
2.2界面测试
搜索框和按钮正常显示,标题,url,描述均显示正确。
3.3自动化测试
工具类
import os
import sys
import datetime
from selenium import webdriver
from selenium.webdriver.ie.service import Service
from webdriver_manager.chrome import ChromeDriverManager
#创建一个浏览器对象
class Driver:
driver = ""
def __init__(self):
options = webdriver.ChromeOptions()
self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)
def getScreeShot(self):
# 创建屏幕截图
dirname = datetime.datetime.now().strftime("%Y-%m-%d")
# 判断dirname文件夹是否已经存在,若不存在则创建文件夹
# ../images/2024-05-08
if 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.png
filename = 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()
整体代码实现
#测试搜索引擎主页界面
import time
from selenium.webdriver.common.by import By
from common.Utils import BlogDriver
class SearchHomePage:
url = ''
driver = ''
def __init__(self):
self.url = 'http://123.249.125.60:8085/'
self.driver = BlogDriver.driver
self.driver.get(self.url)
#搜索无效等价类
def InvaildTest(self):
#测试中文
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').send_keys('你好')
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > button').click()
time.sleep(8)
#清空搜索框内容
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').clear()
#测试特殊字符
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').send_keys('****')
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > button').click()
#清空搜索框内容
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').clear()
#搜索有效等价类
def VaildTest(self):
#测试字符串类型
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').send_keys('string')
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > button').click()
time.sleep(3)
#每次搜索完毕之后,都要清空搜索框的内容,便于下次测试
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').clear()
#测试数字类型
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > input[type=text]').send_keys('123')
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.search > button').click()
time.sleep(3)
#点击任意一条内容,看能否跳转
self.driver.find_element(By.CSS_SELECTOR,'body > div > div.result > div:nth-child(1) > a').click()
time.sleep(3)
_search = SearchHomePage()
_search.InvaildTest()
_search.VaildTest()
4.兼容性测试
在Windows11环境下:
谷歌浏览器:正常运行
在Windows11环境下:
Edge浏览器:正常运行
测试总结
-
功能测试:
- 输入验证:有效输入(英文 / 数字混合)可正常搜索,无效输入(中文 / 特殊符号)无结果返回。
- 网页解析:验证页面标题、内容、URL 显示正确。
-
界面测试:
- 搜索框、按钮显示正常,操作流畅;搜索结果中标题、描述、URL 展示无误。
-
自动化测试:
- 使用 Selenium 模拟用户操作,验证搜索流程(含截图记录),代码运行稳定,结果符合预期。
-
兼容测试:
- 在 Windows 11(谷歌 / Edge 浏览器)上均正常运行,界面适配良好。