自动化测试08

编程入门 行业动态 更新时间:2024-10-25 22:33:18

自动化<a href=https://www.elefans.com/category/jswz/34/1771117.html style=测试08"/>

自动化测试08

Junit

为什么学了Selenium还需学习Junit

Selenium自动化测试框架;Junit单元测试框架。

拿着一个技术写自动化测试用例(Selenium3)

拿着一个技术管理已经编写好的测试用例(Junit5)

Junit相关的技术

Junit是针对Java的一个单元测试框架

注解:

@Test:

表示当前的这个方法是一个测试用例

@Disabled

当前方法被忽略

@BeforeAll,@AfterAll,@BeforeEach,@AfterEach

你把什么样的程序放到BeforeAll里面,把什么样的程序放到AfterAll里面?

初始化放在前面,关闭数据库放在后边。

如果做UI自动化,通常情况下,创建驱动,打开网页,放到BeforeAll,关闭浏览器放到AfterAll里边。

@Testpublic void Test01() {System.out.println("这是JunitTest里面的Test01");}@Testpublic void Test02() {System.out.println("这是JunitTest里面的Test02");}@Disabledpublic void Test03() {WebDriver webDriver = new ChromeDriver();webDriver.get("");webDriver.findElement(By.cssSelector("#s-top-left > a:nth-child(6)"));}@BeforeAllpublic static void SetUp() {System.out.println("这是我们BeforeAll里面的语句");}@AfterAllpublic static void TearDown() {System.out.println("这是我们AfterAll的语句");}@BeforeEachpublic void BeforeEachTest() {System.out.println("这是BeforeEach里面的语句");}@AfterEachpublic void AfterEachTest() {System.out.println("这是AfterEach里面的语句");}

如果有5个测试用例,BeforeEach跑几次,BeforeAll跑几次?

5   1

如果有5个测试用例,AfterEach跑几次,AfterAll跑几次?

5   1

BeforeAll在所有的测试用例运行之前跑响应的方法

BeforeEach在每一个测试用例执行之前跑对应的方法

AfterAll在所有的测试用例运行之后跑响应的方法

AfterEach在每一个测试用例执行之后跑对应的方法


参数化:

单参数

    @ParameterizedTest@ValueSource(ints = {1,2,3})void Test04(int num) {System.out.println(num);}@ParameterizedTest@ValueSource(strings = {"1","2","3"})void Test05(String number) {System.out.println(number);}

CSV获取参数

@ParameterizedTest@CsvFileSource(resources = "test01.csv")void Test06(String name) {System.out.println(name);}

方法获取参数

多参数

public static Stream<Arguments> Generator() {return Stream.of(Arguments.arguments(1,"张三"),Arguments.arguments(2,"李四"),Arguments.arguments(3,"王五"));}
@ParameterizedTest@MethodSource("Generator")void Test07(int num,String name) {System.out.println(num + ":" + name);}
@Test和@ParameterizedTest不能同时使用 

不想按默认的顺序的执行+:

1)@TestMethodOrder(MethodOrderer.OrderAnnotation.class)

   @order(1)   @order(2) ……

2)随机生成

@TestMethodOrder(MethodOrderer.Random.class)

测试套件:

通过class运行测试用例

通过包运行测试用例 

断言

断言相等

@ParameterizedTest@ValueSource(ints = {1})void Test02(int num) {System.out.println(num);Assertions.assertEquals(1,num);}

断言不相等

Assertions.assertNotEquals(2,num);

断言为空

断言不为空

构建测试套件

1、

@Suite
//通过class测试用例运行
@SelectClasses({JunitTest.class,JunitTest03.class})
public class RunSuite {
}

2、通过建立测试包

@Suite
//通过class测试用例运行
@SelectPackages(value = {"Package01","Package02"})
public class RunSuite {
}

更多推荐

自动化测试08

本文发布于:2023-12-06 03:33:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1666318.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:测试

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!