【发布时间】:2021-07-15 03:52:22
【问题描述】:
我正在尝试编写一些需要专门包装器的 API 测试。我正在使用的库接受 API 请求,对其进行检查,并使用私钥,在将请求发送到服务器之前,根据请求的大小、时间戳和其他内容生成签名标头。
这是用python3编写的概念证明代码
import requests
from auth_client.requests_auth import Auth
APP_UUID = "redacted"
private_key = open("private_key", "r").read()
signature = Auth(APP_UUID, private_key)
uuid="redacted"
url = "https://www.example.com/v1/rest/{}/index".format(uuid)
headers = {'AdditionalHeader': 'redacted'}
result = requests.get(url, auth=signature, headers=headers)
print(result.text)
到目前为止,我已经尝试在机器人框架中编写它:
Library requests
Library auth_client.requests_auth
*** Variables ***
${additionalHeader} redacted
${APP_UUID} redacted
${url} www.example.com/v1/rest
${PRIVATE_KEY} redacted
*** Keywords ***
I am setup for API calls to the server
[Arguments] ${Excel File Path} ${Sheet Name}
# Get values from Excel
# log to console APP_UUID= ${APP_UUID}, private key = ${PRIVATE_KEY}
${auth} Auth ${APP_UUID} ${PRIVATE_KEY}
When I call server with 'index'
${fullurl} ${url}/${uuid}/index
${headers} "{'additonalheaders': ${additionalHeader}}"
${result} requests.get(${fullurl}, auth=${auth}, headers=${headers})
但我收到“导入的库 'auth_client.requests_auth' 不包含关键字” 而且我找不到Auth。
我尝试了其他几种变体,但都没有成功。
【问题讨论】: