接口测试常见面试题(JMeter)
在 Jenkins 中配置 JMeter 任务。使用 Email Notification 插件,在构建后触发邮件。
1. 接口传输格式有哪些?
-
JSON:轻量级的数据交换格式,易于读写。
-
XML:可扩展标记语言,结构严谨,支持复杂数据结构。
-
Form Data:表单格式,如
application/x-www-form-urlencoded或multipart/form-data(用于文件上传)。 -
二进制格式:如 Protobuf、Avro,适用于高性能场景。
-
其他:如 YAML、CSV、纯文本等。
2. JMeter 环境搭建步骤
-
安装 Java:确保已安装 JDK 8+,配置
JAVA_HOME环境变量。 -
下载 JMeter:从 Apache JMeter 官网 下载对应版本。
-
解压文件:解压到本地目录,无需安装。
-
启动 JMeter:
-
Windows:运行
bin/jmeter.bat -
Linux/macOS:运行
bin/jmeter.sh
-
-
验证环境:打开 GUI 界面即表示成功。
3. JMeter 实现文件上传
-
步骤:
-
Name:与接口定义的字段名一致(如
file)。 -
File Path:上传文件的绝对路径。
-
MIME Type:如
image/png、text/plain等。
-
添加 HTTP 请求 采样器,选择 POST 方法。
-
勾选 Use multipart/form-data。
-
在 Parameters 中添加文件参数:
-
可选:添加 HTTP 信息头管理器,设置
Content-Type为multipart/form-data。
-
4. JMeter加密请求参数处理
-
常用方法:
-
JSR223 PreProcessor:使用 Groovy 或 BeanShell 脚本调用加密算法(如 AES、RSA)。
-
内置函数:如
__digest(支持 MD5、SHA 等哈希算法)。 -
外部 Jar 包:将加密工具类放入
JMETER_HOME/lib/ext,通过 BeanShell 调用。
-
-
示例(MD5):
-
import org.apache.commons.codec.digest.DigestUtils -
String md5 = DigestUtils.md5Hex(vars.get("明文参数")); -
vars.put("encryptedParam", md5);
AI写代码
5. JMeter 添加 Cookies
-
自动管理:添加 HTTP Cookie 管理器,自动存储和传递 Cookies。
-
手动添加:
-
在 HTTP 请求头管理器 中添加
Cookie头。 -
格式:
Cookie: name1=value1; name2=value2。
-
6. JMeter 连接数据库
-
步骤:
-
Connection Pool Name:自定义名称(如
MyDB)。 -
Database URL:
jdbc:mysql://host:port/dbname。 -
JDBC Driver Class:
com.mysql.jdbc.Driver。 -
输入用户名和密码。
-
添加 JDBC 驱动:将数据库驱动(如 MySQL 的
mysql-connector-java.jar)放入JMETER_HOME/lib。 -
添加 JDBC Connection Configuration:
-
添加 JDBC Request:选择连接池,编写 SQL 并保存结果到变量。
-
7. JMeter 处理 HTTPS 证书
-
忽略证书错误(测试环境):
-
在 HTTP 请求 的 Advanced 选项卡中,设置 Implementation 为
Java。 -
修改
JMETER_HOME/bin/system.properties,添加:
-
-
javax.net.ssl.trustStore= -
javax.net.ssl.trustStorePassword=
导入证书(生产环境):
-
-
使用浏览器导出证书(.cer 或 .jks)。
-
在 HTTP 请求 中配置 SSL 管理器,指定证书路径。
-
8. JMeter 断言方法
-
常用断言类型:
-
响应断言:检查响应文本、响应码或响应头。
-
JSON 断言:使用 JSON Path 验证特定字段值。
-
XPath 断言:针对 XML 格式的响应。
-
持续时间断言:验证请求响应时间是否超时。
-
-
示例(响应文本断言):
-
Apply to:
Main sample only -
检查字段:
Response Body -
匹配规则:
Contains,输入预期文本(如"success": true)。
-
9. JMeter 参数化方法
-
参数化类型:
-
CSV 数据文件:通过 CSV Data Set Config 读取外部文件。
-
用户自定义变量:在 User Defined Variables 中定义静态值。
-
随机函数:如
__Random、__RandomString、__time生成动态数据。 -
数据库查询:通过 JDBC 请求获取数据并存入变量。
-
BeanShell/JSR223:动态生成复杂参数。
-
-
示例(CSV 参数化):
-
Filename:
data.csv -
Variable Names:
user,password -
在请求中引用
${user}和${password}。
-
10. JMeter 自动发送邮件
-
方法一:SMTP Sampler
-
添加 SMTP Sampler,配置邮件服务器(如
smtp.gmail.com:587)。 -
填写发件人、收件人、主题、正文,启用 SSL/TLS。
-
在测试计划末尾添加该 Sampler。
-
-
方法二:Jenkins 集成:
-
在 Jenkins 中配置 JMeter 任务。
-
使用 Email Notification 插件,在构建后触发邮件。
-
-
注意:需开启 SMTP 服务器的认证(用户名/密码或应用专用密码)。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

更多推荐

所有评论(0)