答疑 | EOLINKER 第七期 Q&A 答疑手册
2021,9,27 教程
大家期盼已久的Eolinker Q&A 环节又回来了,这次我们集中了09月份大家提问较多的几个问题,并通过QA的方式为大家进行解答,那么我们马上开始!

Q1:想要操作数据库,有连接数据库对数据库进行增删改查功能吗,比如我想验api操作后数据库某张表多了一条记录,可以实现吗?
A1:可以实现的,我们eolinker平台的自动化测试模块是支持数据库连接的,如图1可以看到这里可以连接数据库的类型有Mysql,Oracle,PostgreSQL。

图1

 

这里以Mysql为例,选择自己需要连接数据库类型后,填写数据库相关的信息,数据库地址,端口号,数据库名称等等点击测试按钮显示成功则连接成功,在填写好数据库蓝连接名称就可以保存使用了,如图2可以看到显示连接成功之后可以保存使用。

图2

 

接下来在流程测试用例里,进入需要添加数据库步骤的api接口里如图3添加数据库步骤操作(此步骤需要连接数据库之后才能添加),进行数据库操作。

图3

 

数据库步骤中有如图4的三个功能区,第一个是编写SQL,这里编写正确的sql语句就可以对数据库进行操作;第二个提取返回结果,给后面步骤引用,在“参数名”一栏填入参数,下方黑框中会自动生成对应格式供后续步骤提取;第三个功能区可以自定义编写校验规则进行校验。

图4

Q2:api设定定时执行,设定的定时任务,执行后的报告数据统计通过率如何理解。
A2:测试报告的通过率分为两个方面,一是定时任务本身的通过率,二是定时任务里添加的api的通过率,只有当该定时任务api通过率为100%时该定时任务视为通过,例如:在自动化模块设定定时任务,如图1设定好时间添加好需要测试的用例等。

图1

 

执行之后可以在如图2测试报告中的“定时测试任务”查看定时任务的测试报告详情,这里显示的通过率是定时任务里用例的通过率,如图3可以看到很详细测试报告。

图2

图3

在概况中也可以查看到定时任务的测试情况如图4,这里查看到的是定时任务的通过率。

图4

Q3(私有云):用户进行rsa公钥带有填充模式,输出为hex的加密。然后用rsa私钥解密,应该怎样操作?
A3:RSA是非对称加密,加密与解密使用的密钥不是同一密钥,对中一个对外公开,称为公钥,另一个只有所有者知道,称为私钥。用公钥加密的信息只有私钥才能解开,反之,用私钥加密的信息只有公钥才能解开(签名验签),加密解密密钥不一致,它们是成对出现。
我们在eolinker里面点击RSA公钥加密,如图1,publickey代表的是我们的公钥秘钥,输入加密公钥。
格式为:(以“—–BEGIN PUBLIC KEY—–”开头 “—–END PUBLIC KEY—–” 结尾)
同样的私钥格式为:(以“—–BEGIN PRIVATE KEY—–”开头 ,“—–END PRIVATE KEY—–” 结尾)

图1

填充方式(如图2来源于网上):

图2

Q4(私有云):如果需要加密的数据过长要怎样解密?
A4:如果字段过长,需要分段解密,我们可以怎样在eolinker里面自定义函数来解决。
首先设置自定义函数,如图1

图1

自定义函数内容:

MAX_DECRYPT_BLOCK = input_max_decrypt_block || 128

function fn_decrypt(tmp_input_msg) {
return eo.rsaPublicDecrypt({
key: input_private_key,
padding: “RSA_PKCS1_PADDING”
}, tmp_input_msg, “base64”)
}
try {

var ct = “”;
var t1;
var buf = Buffer.from(input_msg, “base64”);
var inputLen = buf.length;
//开始长度
var offSet = 0;
//结束长度
var endOffSet = MAX_DECRYPT_BLOCK;
//分段解密
while (inputLen – offSet > 0) {
if (inputLen – offSet > MAX_DECRYPT_BLOCK) {
t1 = fn_decrypt(buf.slice(offSet, endOffSet));
ct += t1;
} else {
t1 = fn_decrypt(buf.slice(offSet, inputLen));
ct += t1;
}
offSet += MAX_DECRYPT_BLOCK;
endOffSet += MAX_DECRYPT_BLOCK;
}
return ct;
} catch (ex) {
return false;
}

然后再前置脚本里面插入自定义函数,如图2

图2

关于加解密的其他内容还可以参考一下系统里面的内置函数手册

https://help.eolinker.com/api_management/html/functions_book/crpty.html

Q5(Saas):第三方系统可以使用api自动化测试吗?
A5可以的,用户可以使用 Eolinker 的开放API 对接 Jenkins、企业内部系统或其他第三方系统,实现 API 管理自动化测试监控等需求。
openapi测试步骤如下:

1、首先在工作空间–openapi,复制openapi的调用秘钥;

2、打开openapi线上管理文档,选对应的场景api接口文档,点击测试按钮;

3、请求头部处填入你的秘钥,请求体里面分别填入红框处的内容,环境id是项目环境的id,填写完成之后点测试;

4、最后可以在系统–测试报告–openapi测试里面查看刚刚的测试情况;

本期选出的Q&A都是工单里提问率较高的问题,看完本篇文章的小伙伴们,希望能帮助大家解决在使用 EOLINKER 过程中遇到的问题,如果有任何使用上的问题欢迎在下方留言告诉我们,我们将第一时间帮您解决。或者访问 EOLINKER 的 帮助中心,我们下期再见!