目录
1、Junit 是什么?
2、Junit 的用法
2.1、注解【@Test、@BeforeEach、@BeforeAll、@AfterEach、@AfterAll】
2.2、断言Assertion类
2.2.1、断言匹配/不匹配
2.2.2、断言结果为真/为假
2.2.3、断言结果为空/不为空
2.3、用例的执行顺序【order注解】
2.4、参数化
2.4.1、单参数:
2.4.2、多参数
2.4.3、动态参数
2.5、测试套件
2.5.1、指定类运行用例
2.5.2、指定包名来运行包下所有的用例
1、Junit 是什么?
JUnit是一个Java语言的单元测试框架。
咱们在自动化测试中,只是浅浅借用了一下junit库中提供的一些方法
2、Junit 的用法
使用Junit,就需要导入依赖:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>1.8.2</version>
<scope>test</scope>
</dependency>
2.1、注解【@Test、@BeforeEach、@BeforeAll、@AfterEach、@AfterAll】
@Test注解:标示方法为测试方法
代码:
package com;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
/**
* Created with IntelliJ IDEA.
* Description:
* User:龙宝
* Date:2023-02-15
* Time:18:22
*/
public class AutoTest {
ChromeDriver driver = new ChromeDriver();
@Test
void test() throws InterruptedException {
driver.get("https://www.baidu.com");
driver.findElement(By.cssSelector("#kw")).sendKeys("aiurgag");
Thread.sleep(3000);
driver.findElement(By.cssSelector("#su")).click();
}
}
当使用了@Test注解,即使我们没有main函数,也可以启动测试:
@BeforeEach:使用该注解的方法,在其他每一个用例执行之前,都会执行一次:
@BeforeAll:使用该注解的方法,在其他用例之前只执行一遍:
@AfterEach:使用该注解的方法,在其他每一个用例执行之后,都会执行一次
@AfterAll:使用该注解的方法,在其他用例之后只执行一遍:
2.2、断言Assertion类
2.2.1、断言匹配/不匹配
Assertions.assertEquals("百度1下",text);
Assertions.assertNotEquals("bai",text);
2.2.2、断言结果为真/为假
一个为假,报错后,后面的就不会执行了
2.2.3、断言结果为空/不为空
String s = null;
Assertions.assertNull(s);
Assertions.assertNotNull("afawa");
2.3、用例的执行顺序【order注解】
代码的顺序不一定是代码的执行顺序:
通过order注解来排序
2.4、参数化
尽可能的通过一个用例,多组参数来模拟用户的行为
@ParameterizedTest:声明该方法为参数方法
2.4.1、单参数:
@ValueSource:参数来源
关于@ValueSource使用:@ValueSource(数据类型方法 = {参数1,参数2,.....})
看源码:
2.4.2、多参数
关于@CsvSource使用:每个双引号就是一组测试用例,每个参数之间用逗号隔开
当数据太多的时候,这样写就不太好了,可以直接从某文件中获取
文件:
注意在进文件写数据时,需要在打开方式中 选择Excel方式打开
2.4.3、动态参数
使用了参数化注解的方法不能再用@Test注解
2.5、测试套件
创建一个类,通过@Suite注解标识该类为测试套件类
2.5.1、指定类运行用例
结果:
2.5.2、指定包名来运行包下所有的用例
好啦,本期到这啦,下期见咯~~~