软件测试实验 - Junit5 参数化测试
作者:互联网
一. 实验题目
- 构建系统导航主页面,可以分别跳转到三角形问题和佣金问题的页面;
- 针对三角形问题、佣金问题分别构建相应的Web页面;
- 采用Selenium+JUnit5实现对佣金计算页面的自动化测试(利用强健壮等价类的参数化测试)
二. 实验方法
Selenium+JUnit5自动化测试
三. 实验内容
1. 构建前端显示页面
所有源码均在文末贴出
(1). 导航页
负责跳转到三角形问题和佣金问题
(2). 三角形问题页面
包含应该跳转链接和四个输入框, 以及一个按钮
问题的实现代码使用html内嵌js代码实现
界面预览:
(3). 佣金问题页面
同三角形问题页面
界面预览:
2. 创建佣金问题强健壮等价类测试用例
(1). 等价类划分:
(2). 生成笛卡尔积:
(3). 根据笛卡尔积写出对应的测试用例
3. 创建web项目使用Selenium进行自动化测试
(1). Selenium的安装, chrome浏览器驱动,以及示例
请自行参考老师的讲义
点此下载, 不定期删除
(2). 使用Selenium录制测试脚本并导出
由于页面比较简单, 可以直接手写, 故省略.
(3). Junit5 参数化测试
导入jar包
编写测试代码
public class Class05Test {
static WebDriver driver;
@BeforeAll
static void setUp() {
System.setProperty("webdriver.chrome.driver",
"D:\\Work Space\\IdeaProjects\\SoftTest\\Class_05\\src\\main\\resources\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
}
@AfterAll
static void tearDown() {
driver.quit();
}
@ParameterizedTest
@CsvFileSource(resources = "/cases.csv")
public void class05(int locks, int stocks,int barrels, String expected) {
driver.get("http://localhost:8080/");
driver.findElement(By.id("commission")).click();
driver.findElement(By.id("a")).sendKeys(locks+"");
driver.findElement(By.id("b")).sendKeys(stocks+"");
driver.findElement(By.id("c")).sendKeys(barrels+"");
driver.findElement(By.id("action")).click();
String result = driver.findElement(By.id("result")).getAttribute("value");
Assertions.assertEquals(expected, result);
}
}
创建参数化测试文件
运行测试, chrome会自动打开, 然后自动填充参数进行测试:
测试结果如下, 全部通过:
四. 源码
标签:软件测试,driver,findElement,测试,Selenium,Junit5,id,页面 来源: https://www.cnblogs.com/kaixin-wbl/p/16106025.html