使用Shell脚本提高接口测试效率,简化Dubbo接口测试

目录

Dubbo 接口

HTTP 接口

Dubbo 3.x 接口

总结


程序员进行接口测试是确保软件质量和项目成功的关键步骤之一,可以帮助发现接口的缺陷和错误,并及时进行修复,保证接口的正确性和稳定性。

使用 Shell 脚本可以提高接口测试的效率和质量,减少人力成本,提高测试效率和可重复性。

本文以统一下单、支付和支付结果通知为例,介绍几种常见接口使用 Shell 脚本进行测试的情况。

Dubbo 接口

使用 unifiedOrder.sh 进行统一下单:

#!/bin/bash

# 整个测试流程步骤的长度,缺省值为9
steps=${1:-9}
# 测试第一步——下单
step=1

# 取当前时间,结合随机数,简单生成唯一编号
secs=$(date +%s)
seq=$(echo $RANDOM $RANDOM|awk '{printf "%05d%04d",$1,rshift($2,2)}')

outRequestId=${secs}${seq}
orderNo=${secs}${seq}
tim=$(date "+%Y-%m-%d %H:%M:%S")
payment=100

appId=alipayAppId
paymentType=ALIPAY

echo unifiedOrder: outRequestId=$outRequestId orderNo=$orderNo appId=$appId

# 通过telnet命令调用dubbo服务下单接口,<< EOF表示输入在telnet中执行的命令,且多行,最后以EOF结束命令
telnet localhost 20880 << EOF
invoke PayService.unifiedOrder({
    "outRequestId": "$outRequestId",
    "orderDateTime": "$tim",
    "reqDateTime": "$tim",
    "orderNo": "$orderNo",
    "payment": "$paymen
使用 shell 脚本输出接口结果可以通过多种方式实现,以下是几种常见的方法: ### 使用 `curl` 命令获取 HTTP 接口结果 `curl` 是一个强大的工具,用于在命令行中发送 HTTP 请求并获取响应。 ```bash url="https://www.example.com/api" response=$(curl -s "$url") echo "$response" ``` 在上述代码中,`-s` 选项用于以静默模式运行 `curl`,避免显示进度信息。请求的响应内容被存储在 `response` 变量中,然后通过 `echo` 命令输出。 ### 使用 `wget` 命令获取 HTTP 接口结果 `wget` 也是一个常用的命令行工具,用于从网络上下载文件,也可以用来获取接口结果。 ```bash url="https://www.example.com/api" wget -q -O - "$url" ``` 这里 `-q` 选项表示安静模式,不显示下载进度;`-O -` 表示将下载的内容输出到标准输出。 ### 调用 Dubbo 接口并输出结果 若要调用 Dubbo 接口并输出结果,可以使用 `telnet` 命令。以下是一个示例: ```bash outRequestId="12345" orderNo="67890" payment="100" paymentType="credit_card" openId="abcdef" appId="123abc" tim=$(date "+%Y-%m-%dT%H:%M:%S") req=$(cat << EOF { "outRequestId": "$outRequestId", "orderDateTime": "$tim", "reqDateTime": "$tim", "orderNo": "$orderNo", "payment": "$payment", "productName": "产品名称", "productDesc": "测试用", "paymentType": "$paymentType", "extraParam": "{\"openId\":\"$openId\",\"appId\":\"$appId\"}" } EOF ) req=$(unformat.sh "$req") result=$(telnet localhost 30880 << EOF invoke PaymentService.unifiedOrder($req) EOF ) echo "$result" ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

创意程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值