关于自动化测试数据驱动和关键字驱动的理解

📅 2026/8/4 8:55:21 👁️ 阅读次数 📝 编程学习
关于自动化测试数据驱动和关键字驱动的理解

一句话先分清

  • 数据驱动:代码不变,换数据

  • 关键字驱动:代码不变,换步骤

例子:测登录

1. 数据驱动

就是1个测试方法 + Excel里的多组账号密码

Excel里有3行数据:

usernamepassword预期结果
admin123456登录成功
adminwrong密码错误
(空)123456请输入用户名

代码只写1个方法,循环用这3组数据跑3遍:

java

@Test(dataProvider = "loginData") public void testLogin(String username, String password, String expected) { 输入用户名(username); 输入密码(password); 点登录按钮(); 断言(页面提示 == expected); // 逻辑完全一样,只是数据不同 }

👉一句话:同一套动作,喂不同的数据,看结果对不对。


2. 关键字驱动

就是把每一步操作起个名字(关键字),用例变成一串关键字的组合。

比如定义:

  • openBrowser= 打开浏览器

  • input= 输入内容

  • click= 点击

  • check= 检查结果

然后测试用例在Excel里写成这样(像剧本一样):

序号关键字参数1参数2
1openBrowserhttps://xxx.com-
2input用户名框admin
3input密码框123456
4click登录按钮-
5check页面标题首页

代码里实现每个关键字具体干啥(findElement、click、getText...),然后程序逐行读Excel执行。

👉一句话:把“我要做什么”写在Excel里,底层代码去执行。不懂代码的人也能写自动化用例。

面试时这样说(30秒讲清楚)

面试官问:数据驱动和关键字驱动有什么区别?

“数据驱动就是数据变,代码不变。比如测登录,我把10组账号密码放在Excel里,代码只写一套登录逻辑,自动跑10遍,每遍用不同数据。

关键字驱动是步骤变,代码不变。我把‘打开浏览器’‘输入’‘点击’这些都封装成关键字,测试人员在Excel里像搭积木一样编排步骤,底层代码去执行。

数据驱动适合参数组合多的场景,关键字驱动适合流程固定、需要不懂代码的人协作维护的场景。实际项目中两者经常混着用——用关键字编排流程,用数据驱动提供参数。”