Java API 搜索引擎测试报告

一、测试项目介绍

基于SpringBoot开发的 Java API 文档搜索引擎,输入具体的类名或包名就能找到对应相关的搜索结果,点击标题即可跳转到对应官方网页。

二、测试

测试环境:Windows11,Google chrome浏览器 128.0.6613.138 (正式版本) (64 位)

1.编写测试用例

在这里插入图片描述

2.功能测试
2.1 输入测试

因为该项目不支持模糊匹配,查找结果是根据查询词是否包含在文档内容中来筛选的,因此等价类的划分如下:

有效等价类无效等价类
英文字符中文字符
数字字符停用词字符
英文和数字混杂字符其他特殊字符

测试输入数据:

测试用例期望结果
String(有效)能被查找到并正确显示
ArrayList(有效)能被查找到并正确显示
12(有效)能被查找到并正确显示
12(有效)能被查找到并正确显示
a123b(有效)能被查找到并正确显示
数组(无效)查找不到结果
,Ar,p,(无效)查找不到结果
1=1,&&&%$23(无效)查找不到结果
空格(无效)查找不到结果

附上部分测试截图:
有效等价类:在这里插入图片描述

无效等价类:
在这里插入图片描述


2.2 页面展示结果测试
2.2.1 显示搜索结果总数是否和实际展示保持一致

这里搜索一个条目比较少的方便展示:如图可以看到确实保持一致在这里插入图片描述

数量大之后就需要定位页面元素编写代码来统计具体实际展示出的结果总数,这里贴上部分代码:

			// 定位包含结果统计信息的元素
            WebElement resultStats = webDriver.findElement(By.xpath("/html/body/div/div[2]/div[1]"));
            // 提取该元素文本信息
            String resultText = resultStats.getText();
            // 使用正则表达式提取数字
            String resultCount = resultText.replaceAll("\\D+", "");
            System.out.println("提取的搜索结果数为: " + resultCount);

            // 获取实质展示的搜索结果
            List<WebElement> results = webDriver.findElements(By.className("item"));
            System.out.println(results.size());
            // 使用断言判断两者是否一致
            assertEquals("展示搜索结果数和实际展示应保持一致", results.size(), Integer.parseInt(resultCount));

2.2.2 标题、描述、URL是否正确显示

如图,可以看到三者正确显示:在这里插入图片描述

自动化测试代码:

			// 获取标题属性
            WebElement linkElement = result.findElement(By.tagName("a"));
            String href = linkElement.getAttribute("href"); // 获取 href 属性
            String title = linkElement.getText(); // 获取标题文本

            // 检查标题是否正确显示
            assertNotNull("标题不应为空", title);

            // 检查描述是否包含查询词(包含的查询词已标红)
            WebElement desc = result.findElement(By.tagName("i"));
            assertNotNull("应包含查询词", desc.getText());

            // 检查URL是否正常显示
            WebElement url = result.findElement(By.className("url"));
            assertNotNull("URL不应为空", url.getText());

2.2.3 点击标题是否能够正确跳转

经过测试是可以正确跳转,代码如下:

			// 点击标题是否能够正确跳转
            String expectedUrl = url.getText(); // 获取预取的跳转URL
            linkElement.click(); // 点击标题

            // 获取所有标签页的句柄
            ArrayList<String> tabs = new ArrayList<>(webDriver.getWindowHandles());

            // 切换到新标签页(新标签页一般在索引1的位置)
            webDriver.switchTo().window(tabs.get(1));

            // 等待新页面加载
            WebDriverWait waitUrl = new WebDriverWait(webDriver, Duration.ofSeconds(10));
            waitUrl.until(ExpectedConditions.urlToBe(expectedUrl));

            // 获取当前页面url
            System.out.println(webDriver.getCurrentUrl());

            // 断言跳转页面URL和期望URL是否一致
            assertEquals("应该跳转到正确的URL", expectedUrl, webDriver.getCurrentUrl());

            // 关闭新标签页
            webDriver.close();

            // 切换回原标签页
            webDriver.switchTo().window(tabs.get(0));

3.兼容性测试

在Windows11环境下:
Edge浏览器:正常运行在这里插入图片描述

谷歌浏览器:正常运行在这里插入图片描述


vivo IQOO 手机环境:
手机QQ浏览器:正常运行在这里插入图片描述

vivo自带浏览器:正常运行请添加图片描述


测试代码链接

链接: 项目测试链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行舟Yi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值