建站网站排行榜百度网站联盟推广
- 作者: 五速梦信息网
- 时间: 2026年04月20日 10:41
当前位置: 首页 > news >正文
建站网站排行榜,百度网站联盟推广,网站建设金牛万达,网站logo模板目录 1.注解 1.1 Test 1.2 BeforeEach 1.3 BeforeAll 1.4 AfterEach 1.5 AfterAll
- 用例的执行顺序 通过 order() 注解来排序
- 参数化 3.1 单参数 3.2 多参数 3.3 多参数(从第三方csv文件读取数据源) 3.4 动态参数ParameterizedTest MethodSource()
- 测试…目录 1.注解 1.1 Test 1.2 BeforeEach 1.3 BeforeAll 1.4 AfterEach 1.5 AfterAll
- 用例的执行顺序 通过 order() 注解来排序
- 参数化 3.1 单参数 3.2 多参数 3.3 多参数(从第三方csv文件读取数据源) 3.4 动态参数ParameterizedTest MethodSource()
- 测试套件 4.1 指定类来运行实例Suite SelectClasses 4.2 指定包名来运行包下所有测试用例
- 断言 Assertions类 5.1 断言匹配/不匹配Assertions.assertEquals() 5.2 断言结果为真/假Assertions.assertTrue() 5.3 断言结果为空/非空Assertions.assertNull() 自动化就是 selenium 脚本来实现的junit 是 java 的单元测试工具只不过在实现自动化的时候需要借用一下 junit 库里面提供的一些注解 注博主的版本为 Junit5支持的 Java 版本最低要为 8 添加依赖 dependencygroupIdorg.junit.platform/groupIdartifactIdjunit-platform-suite/artifactIdversion1.8.2/versionscopetest/scope /dependency1.注解 1.1 Test Test 表示当前方法为测试方法执行这个类的时候会自动执行这个注释下的所有方法 public class JunitTest {Test//表示当前方法是测试方法执行这个类时会自动执行这个类下的所有带 Test 注解的用例void baseZhujie(){System.out.println(这是一个测试方法);}Teststatic void aaa(){System.out.println(aaa);}Testvoid bbb(){System.out.println(bbb);} } 1.2 BeforeEach BeforeEach 当前方法需要在每个用例执行之前都执行一遍 BeforeEach// 表示当前方法需要在每个用例执行之前都执行一遍 // Testvoid baseZhujie(){System.out.println(这是一个测试方法);}Testvoid aaa(){System.out.println(aaa);}Testvoid bbb(){System.out.println(bbb);} 1.3 BeforeAll BeforeAll 表示当前方法需要在所有用例执行之前执行一次 Testvoid baseZhujie(){System.out.println(这是一个测试方法);}BeforeAll// 表示当前方法需要在所有用例执行之前执行一次 // Teststatic void aaa(){System.out.println(aaa);}Testvoid bbb(){System.out.println(bbb);} 1.4 AfterEach AfterEach 表示当前发给发需要在每个用例执行之后都执行一遍 Testvoid baseZhujie(){System.out.println(这是一个测试方法);}AfterEach // 表示当前方法需要在每个用例执行之后都执行一遍 // Testvoid aaa(){System.out.println(aaa);}Testvoid bbb(){System.out.println(bbb);} 1.5 AfterAll AfterAll 表示当前用例需要在每个用例执行之后执行一遍 Testvoid baseZhujie(){System.out.println(这是一个测试方法);}// BeforeAll// 表示当前方法需要在所有用例执行之前执行一次 // AfterEach // 表示当前方法需要在每个用例执行之后都执行一遍AfterAll// 当前方法需要在所有用例执行之后执行一次 // Teststatic void aaa(){System.out.println(aaa);}Testvoid bbb(){System.out.println(bbb);}注意 BeforeAll 和 AfterAll 修饰的方法需要用 static 进行修饰才能正常运行 2. 用例的执行顺序 在先前我一直以为用例的执行顺序是按照排列顺序来执行的 对比这两个实例中的用例的执行顺序我又产生了是不是按照方法名的字母顺序来执行的呢 但是后面我才了解到官方网站是并没有说明用例默认的执行顺序的 通过 order() 注解来排序 要先使用注解说明当前类下所有的用例需要使用 order 注解来进行排序然后通过 Order 来指定用例的具体执行顺序 TestMethodOrder(MethodOrderer.OrderAnnotation.class)// 通过 order 来排序 public class JunitTest {Order(1)Testvoid editloginTest(){System.out.println(loginTest);}Order(3)Testvoid AindexTest(){System.out.println(indexTest);}Order(2)Testvoid editTest(){System.out.println(editTest);} } 3. 参数化 目的:尽可能的用一个用例来模拟多个用户的行为 3.1 单参数 ParameterzedTest ValueSource数据类型方法 {参数1参数2参数3…} //声明该方法为参数化方法ParameterizedTest//参数来源–单参数ValueSource(strings {lucky,mary,tom})void methodPramsTest(String username){System.out.println(name: username );} 3.2 多参数 parameterizedTest CsvSource({“”, “”, , …}) 每个双引号就是一组测试用例 //声明该方法为参数化方法ParameterizedTest//参数来源–单参数CsvSource({张三,123,李四,123,王五,123})//多参数(从注解中手动编写数据源)void methodPramsTest(String username,int age){System.out.println(name: username age: age);} 3.3 多参数(从第三方csv文件读取数据源) ParameterizedTest CsvFileSourcefiles “文件路径名字” 这里的这个 csv 文件不要直接改后缀生成要用系统自带的 Excel 工具来打开和编辑 csv 文件 这里出现乱码的情况就是因为没有使用电脑系统自带的Excel来编辑 3.4 动态参数ParameterizedTest MethodSource() ParameterizedTest MethodSource(方法名) ParameterizedTestMethodSource(paramSupport)void methodPramsTest(String username,int age){System.out.println(name: username age: age);}static StreamArguments paramSupport() throws InterruptedException {//构造动态参数String[] arr new String[5];for (int i 0; i arr.length; i) {Thread.sleep(500);arr[i] System.currentTimeMillis() ;}return Stream.of(Arguments.arguments(arr[0],10),Arguments.arguments(arr[1],14),Arguments.arguments(arr[2],13),Arguments.arguments(arr[3],12),Arguments.arguments(arr[4],11));} 注意当MethodSource不指定数据源时会自动寻找与用例方法名相同的静态方法 4. 测试套件 当我们需要测试多个类中的用例时如果一个类一个类的去运行那是非常耗时耗力的 如果我们能够同时运行多个类就很好所以可以使用测试套件来同时运行多个测试类 4.1 指定类来运行实例Suite SelectClasses //标识为测试套件类,而不是测试类 Suite SelectClasses({aaa.class,bbb.class,ccc.class})//指定类 public class runSuite {} 注意想要用例被运行用例必须要被 Test 修饰 4.2 指定包名来运行包下所有测试用例 //标识为测试套件类,而不是测试类 Suite SelectPackages(com.junit1121)//指定包名运行包下所有用例 public class runSuite {} 但是我们的运行结果为 在这里类 aaa,bbb,ccc 中的用例都没有正常运行 那是因为 如果使用包名来指定运行的范围那么该包下来所有的测试类的命名需要以Test/Tests结尾T必须要大写) 5. 断言 Assertions类 5.1 断言匹配/不匹配Assertions.assertEquals() 断言匹配Assertions.assertEquals(期待得到对象,实际得到) 断言不匹配Assertions.assertNotEquals(期待得到对象,实际得到) Testvoid TestBefo(){ChromeDriver driver new ChromeDriver();driver.get(https://www.baidu.com);String test driver.findElement(By.cssSelector(#su)).getAttribute(value);//百度一下// 假如这里获取到的值不是“百度一下”而是“搜狐一下”这就是一个bugSystem.out.println(test);// 断言// 断言匹配/不匹配Assertions.assertEquals(搜狐一下,test);driver.quit();} 5.2 断言结果为真/假Assertions.assertTrue() 断言结果为真:Assertions.assertTrue() 断言结果为假:Assertions.assertFalse() Testvoid ddd(){// 断言结果为真/假 // Assertions.assertTrue(11);Assertions.assertFalse(10);} 5.3 断言结果为空/非空Assertions.assertNull() 断言结果为空:Assertions.assertNull() 断言结果为非空:Assertions.assertNotNull() Test void ggg() {String aaa null;Assertions.assertNull(aaa);//通过 } Test void hhh() {Assertions.assertNotNull(你好);//通过 }
- 上一篇: 建站外贸企业官网推广展会网站怎么做
- 下一篇: 建站网站主题设置不能点台州网页设计模板
相关文章
-
建站外贸企业官网推广展会网站怎么做
建站外贸企业官网推广展会网站怎么做
- 技术栈
- 2026年04月20日
-
建站所有步骤免费引流app下载
建站所有步骤免费引流app下载
- 技术栈
- 2026年04月20日
-
建站售后服务wordpress菜单不兼容
建站售后服务wordpress菜单不兼容
- 技术栈
- 2026年04月20日
-
建站网站主题设置不能点台州网页设计模板
建站网站主题设置不能点台州网页设计模板
- 技术栈
- 2026年04月20日
-
建站网址不安全泉州网站制作多少钱
建站网址不安全泉州网站制作多少钱
- 技术栈
- 2026年04月20日
-
建站网址哈尔滨网站建设工作室
建站网址哈尔滨网站建设工作室
- 技术栈
- 2026年04月20日
