2024年4月15日发(作者:)
测试开发 | Junit5 + YAML 轻松实现参数化和数据驱动,让 App 自
动化测试更高效(二)
霍格沃兹测试学院2023-02-28 08:00发表于安徽
本文为霍格沃兹测试学院优秀学员课程学习笔记,想一起系统进阶的同学文末加群交流。
上篇文章提到了数据驱动可以在几个方面进行:
测试数据的数据驱动
测试步骤的数据驱动
定位符
行为流
断言的数据驱动
下面将详细解说如何进行数据驱动。
5. 数据驱动
5.1 测试数据的数据驱动
5.1.1 Junit5的 参数化
说到测试数据的数据驱动,就必然离不开测试框架的参数化,毕竟测试数据是传给用例的,用例
是由框架来管理的,这里以目前最推荐使用的Junit5框架为例,介绍参数化的使用
@ParameterizedTest+@ValueSource参数化
在Junit5中,提供了@ParameterizedTest注解来实现方法的参数化设置,另外@ValueSource
注解用来存放数据,写法如下:
1
2
3
4
5
@ParameterizedTest
@ValueSource(strings = { "racecar", "radar", "able was I ere I saw elba" })
void palindromes(String candidate) {
assertTrue(ndrome(candidate));
}
@ParameterizedTest+@CsvSource参数化
Junit5还提供了@CsvSource注解来实现csv格式的参数传递,写法如下:
1
2
3
4
5
6
7
8
9
10
@ParameterizedTest
@CsvSource({
"滴滴,滴滴出行",
"alibaba,阿里巴巴",
"sougou,搜狗"
})
public void searchStocks(String searchInfo,String exceptName) {
String name = earchInfo(searchInfo).getAll().get(0);
assertThat(name,equalTo(exceptName));
}
@ParameterizedTest+@CsvFileSourc数据驱动
最终,Junit5提供了@CsvFileSourc注解来实现csv数据格式的数据驱动,可以传递csv文件路
径来读取数据,写法如下:
csv数据文件:
1
2
3
pdd
xiaomi
pdd


发布评论