接口测试:在MeterSphere 中实现单向认证经验分享
我们测试的多个被测系统都是单向认证的,最近在用MeterSphere做接口测试时,发现无论用Python脚本和beanshell脚本实现关闭SSL认证完成登录,有些系统是可以的,有些系统一直提示SSL认证错误。尝试很多方式后发现:使用JavaScript脚本完成登录,登录每个单向认识的系统都没有问题。如果大家在测试中也有这样的问题,可以试试用JavaScript完成单向认证系统的登录。
下面分享Python、beanshell关闭ssl登录脚本,以及JavaScript脚本完成单向认证系统登录脚本。
1.Python脚本关闭ssl实现登录
1.1 代码
import sys
import requests
import json
sys.path.append("/opt/metersphere/data/python/lib/python2.7/site-packages")
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 发起请求时忽略证书验证警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
#创建Session实例对象,然后保持状态
s = requests.session()
#设置请求头格式
headsers = {
"Content-Type":"application/json"}
#设置登录接口请求参数
payload = {
"username": "登录用户名",
"password": "登录密码"
}
res = s.post("https://你测试的环境地址",data=json.dumps(payload),verify=False,headers=headsers)
log.info(res.text)
1.2 MeterSphere前置Python脚本执行测试
注意事项
在 MeterSphere 前后置脚本中引用 Python 第三方库相关配置请查看下面官方手册:https://kb.fit2cloud.com/?p=105
2.Beanshell脚本关闭ssl实现登录
2.1 使用MeterSphere自动生成代码能力
在前置脚本中,选择“导入API”,直接导入登录接口,然后根据需求修改如何提取响应体即可。我这里使用的是:项目管理>>自定义代码片段:来测试的。