当前位置: 首页 > ds >正文

软件测试实验报告3 | 自动化测试工具的基本操作

整理自博主本科《软件质量与测试》专业课期间自己完成的实验报告,以便各位学习软件测试课程的小伙伴们参考、学习。

实验素材(被测对象):TPshop网站

实验环境:Chrome浏览器

*实验环境与素材请自行配置、获取。

目录

一、实验目的

二、实验内容

三、实验步骤及实验结果

1.测试搜索功能

2.使用Junit对加法计算器程序进行自动化测试 

四、实验结果的分析与总结


一、实验目的

1.理解自动化测试的必要性。

2.掌握自动化测试工具的基本用法。

3.为自动化测试实验做好基础。


二、实验内容

1.下载安装selenium并学习使用基本操作,安装配置TPshop网站并进行测试。

2.学习使用Junit自动化测试工具。

3.使用Junit对加法计算器程序进行自动化测试。


三、实验步骤及实验结果

1.测试搜索功能

用例描述:自动化测试在输入框中输入待搜索的关键字,能正确检索出包含该关键字的商品信息。 

Selenium代码: 

public static boolean testSearchBox(String keyword) throws InterruptedException {WebDriver webDriver = new ChromeDriver();webDriver.get("http://localhost/index.php");// 测试搜索功能WebElement searchBox = webDriver.findElement(By.xpath("//*[@id=\"q\"]"));searchBox.sendKeys(keyword);sleep(3000);WebElement searchButton = webDriver.findElement(By.xpath("//*[@id=\"searchForm\"]/button"));searchButton.click();boolean flg = true;for (int i = 1; i < 10; i++) {String selector = "body > div.shop-list-tour.ma-to-20.p > div > div.stsho.fr > div.shop-list-splb.p > ul > li:nth-child(" + i + ") > div > div.shop_name2 > a";WebElement e = webDriver.findElement(By.cssSelector(selector));System.out.println(e.getText());//如果返回的结果包含“手机”,则测试通过,否则测试不通过if(!e.getText().contains(keyword)){flg = false;break;}}if(flg) {System.out.println("测试通过!");}else{System.out.println("测试不通过!");}return flg;
}

测试结果: 

  

      

2.使用Junit对加法计算器程序进行自动化测试 

import static org.junit.Assert.assertEquals;
import org.junit.Test;public class CalculatorTest {@Testpublic void testAddition() {// 创建 Calculator 实例Calculator calculator = new Calculator();// 定义测试用例int result1 = calculator.add(3, 5);int result2 = calculator.add(-2, 7);int result3 = calculator.add(0, 0);// 验证结果assertEquals(8, result1);assertEquals(5, result2);assertEquals(0, result3);}
}

四、实验结果的分析与总结

在本次实验中我学习了自动化测试的必要性,并学习了两个常用的自动化测试工具Selenium和JUnit。自动化测试可以提高测试效率,节省时间和人力成本;可以提高测试的覆盖率,确保软件质量;可以在开发过程中持续执行,及早发现和修复问题。本次实验中我下载安装了Selenium,安装配置了TPshop网站,并使用Selenium进行测试验证网站功能的正确性。我还使用JUnit对加法计算器程序进行了自动化测试验证了其功能的正确性。

通过本次实验,我掌握了自动化测试工具的基本操作,并为进行更复杂的自动化测试实验做好了基础。

http://www.xdnf.cn/news/2895.html

相关文章:

  • 局域网传文件——基于flask实现
  • 9.Three.js中 ArrayCamera 多视角相机详解+示例代码
  • RISCV学习(5)GD32VF103 MCU架构了解
  • 修改Hosts文件没有生效的解决办法
  • LM393比较器的比较翻转电压不对
  • seaborn数据统计可视化-介绍
  • 需要掌握的前端安全概念以及实操
  • 【React Native】精通 react native
  • 第十四届蓝桥杯Scratch03月stema选拔赛——九九乘法表
  • 城市群出行需求的时空分形
  • 工厂设计模式
  • GRPO vs SFT:强化学习提升大模型多模态推理泛化能力的原因研究
  • 2.2.1goweb内置的 HTTP 处理程序
  • Daytona - 开源开发环境管理器
  • 【前端】CSS实现div双背景图叠加
  • QTableView复选框居中
  • Java多线程入门案例详解:继承Thread类实现线程
  • 将本地Springboot项目部署到Linux服务器
  • Web开发之三层架构
  • 从困局到破局的AI+数据分析
  • vscode以管理员身份运行报错
  • 用 Python打造交互式图片-音视频管理器:代码分析与实践
  • 厚铜pcb生产厂家哪家好?
  • 深入解析C2服务器:网络攻击的核心枢纽
  • 莫队算法学习笔记
  • Spring-全面详解(学习总结)
  • 具身智能机器人的应用场景及最新进展
  • Java写项目前的准备工作指南(技术栈选择 环境搭建和工具配置 项目结构设计与模块划分)
  • springboot 视频分段加载在线播放
  • 【含文档+PPT+源码】基于微信小程序的旅游论坛系统的设计与实现