佛山自定义网站建设/win7系统优化大师
目录
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();@Testvoid 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、指定包名来运行包下所有的用例
好啦,本期到这啦,下期见咯~~~