一.项目背景
java官方文档是我们在学习java语言中不可或缺的权威资料。相比于各种网站的Java资料,官方文档无论是语言表达还是组织方式都要更加全面和准确。因为没有人比作者更加了解自己的作品,官方文档一定是最了解自己的作品的。通过查阅java文档,我们可以准确而全面地了解到自己需要了解的知识点。但目前Java官方文档只能通过滚动条寻找关键字进行点击的方式来查询,自然就存在着查询低效的问题。为了解决这一问题,我尝试创建了一个搜索引擎,搜索引擎项目是一个基于Java开发的全文搜索系统,旨在对大规模的文本数据进行高效索引和快速检索.
二.项目功能
输⼊⼀个查询词,得到若⼲个搜索结果.每个搜索结果包含了标题,描述,展⽰url和点击url.
三.测试环境
谷歌浏览器 Windows操作系统,edge浏览器;
四.测试计划
1.编写测试用例:
1.功能测试
• 输入空格
预期结果:无任何显示.
实际结果:无任何显示.
• 输入中文
预期结果:无任何显示.
实际结果:无任何显示.
• 输入英文
预期结果:搜索成功,返回相关结果.
实际结果:搜索成功,返回相关结果.
• 输入数字
预期结果:搜索成功,显示与数字相关的结果.
实际结果:搜索成功,显示带有数字的结果.
• 用户查询时是否有高亮显示
预期结果:高亮显示.
实际结果:高亮显示.
2.自动化测试
public static ChromDriver driver=createDriver();
@BeforeAll
static void baseControl(){
driver.get("http://101.43.252.120:8080/doc_search/index.html");
}
//1.检查搜索页面打开是否正常,必要的页面元素是否存在
@Test
void searchPageRight(){
//检查搜索框是否存在
driver.findElement(By.cssSelector("body > div > div.header > input[type=text]"));
//检查搜索按钮是否存在
driver.findElement(By.xpath("//*[@id=\"search-btn\"]"));
}
1.输入英文
void normalInput(){
//找到搜索框,输入英文string
driver.findElement(By.cssSelector("body > div > div.header > input[type=text]")).sendKeys("string");
//找到搜索按钮并点击
driver.findElement(By.cssSelector("#search-btn")).click();
//进行强制等待
Thread.sleep(2000);
//校验是否搜索成功
driver.findElement(By.xpath("/html/body/div/div[2]/div[1]"));
}
执行通过
2.输入中文
void normalInput(){
//找到搜索框,输入中文关键字“搜索引擎”
driver.findElement(By.cssSelector("body > div > div.header > input[type=text]")).sendKeys("搜索引擎");
//找到搜索按钮并点击
driver.findElement(By.cssSelector("#search-btn")).click();
//进行强制等待
Thread.sleep(3000);
//校验是否搜索成功
driver.findElement(By.xpath("/html/body/div/div[2]/div[1]"));
3,点击标题跳转到文档界面
void searchResult() throws InterruptedException {
//找到搜索框,输入查询词
driver.findElement(By.cssSelector("body > div > div.header > input[type=text]")).sendKeys("static");
//点击搜索按钮
driver.findElement(By.cssSelector("#search-btn")).click();
Thread.sleep(3000);
//找到搜索结果的标题并进行点击
driver.findElement(By.cssSelector("body > div > div.result > div:nth-child(2) > a")).click();
//获取当前页面的句柄
String curHandle=driver.getWindowHandle();
Set<String> handles=driver.getWindowHandles();
for (String handle:handles){
if (handle!=curHandle){
driver.switchTo().window(handle);
}
}
Thread.sleep(3000);
//查找在线文档页面的元素验证跳转成功
driver.findElement(By.cssSelector("#allclasses_navbar_top > li > a"));
}
执行通过
五.测试结果
程序功能的测试全部通过,达到了项目的基本需求,文档搜索没有很大的缺陷,界面简洁美观,新手易使用,使用谷歌浏览器进行测试,无明显缺陷.