53AI
    53AI
    • 前置操作示例帮助
    • 接口签名如何处理
    • Body参数填写指引

    前置操作示例帮助

    什么是前置操作?#

    前置操作是当前在请求webhook前需要执行的脚本,支持python语法,和部分包。

    支持哪些包#

    以下一些常见的python包已加载,可以直接使用,未在列表中的方法可能有不支持的情况,请在测试中查看返回说明不在此罗列。
    "hashlib": hashlib 常用加密包,支持MD5,SHA等常用签名加密方法
    "random": random 随机字串
    "string": string 字符串操作包
    "urllib": urllib url解析包
    "time": time 时间操作包
    "base64": base64 编码方法
    "requests": requests 接口请求包,支持对其它接口的请求
    "random_str": random_str 简化的随机字串方法
    "int_timestamp": int_timestamp 简化的10位int时间戳获取方法
    "pre_code_logger": pre_code_logger 日志打印方法,用于调试

    和参数的互动#

    所有参数中Header、body、query里,都可以设置{{变量名}}围绕起来的变量,然后在前置脚本中可以设置这些变量的值。

    登录态(Auth)如何处理#

    常见处理方式#

    一、Token 方式#

    Token 方式是将登录凭证放在接口请求参数里(通常会放在 Header)。常见的有Basic Auth、Bearer Token、API Key等方式。
    使用方法:
    方法 1. 通过在Header、URL 里直接设置Auth授权信息,比如
    image.png
    方法 2. 在URL或Header里预留变量,然后前置操作里设置变量。
    image.png
    image.png
    注意
    Token 方式可以按下文方法实现全自动登录。

    二、全自动登录#

    运行接口用例的时候,自动调用登录接口完成登录,而无需手动登录,使用方法请看下文。

    全自动登录实现方式#

    期望效果#

    运行接口用例的时候,自动完成登录,而无需手动登录。
    自动登录过一次后,保存登录态,避免每次执行用例都调用登录接口。

    实现思路#

    1.
    使用 环境变量(如:ACCESS_TOKEN)保存登录需要的凭证。
    2.
    如凭证有过期时间,使用环境变量(如:ACCESS_TOKEN_EXPIRES)保存登录凭证的过期时间。
    3.
    在前置操作中编写python代码 :
    判断缓存ACCESS_TOKEN是否有值,如果存在且未过期,跳出执行,否则下一步。
    使用 Request 调用登录接口,将登录接口返回的登录凭证写入环境变量,过期时间也写入环境变量。
    4.
    设置需要登录态的接口用例:
    将用来验证登录态的参数值设置为 {{ACCESS_TOKEN}} 。
    将 header 里的Authorization的设置为{{ACCESS_TOKEN}}。注意:这里也可以使用 URL 或Body其他位置的参数,请根据实际情况确定。
    在 前置操作里设置 ACCESS_TOKEN的值。

    前置操作脚本示例#

    注意
    示例脚本里的登录用户名和密码,是从企微后台客户联系人处获取的corpid和secret,如果你直接拷贝代码的话,记得要手动设置这两个变量为你的key和值。
    如果你们的 token 没有过期时间,可以将get_cache和set_cache相关的代码去除。
    以下示例为请求企业微信的开放接口脚本示例
    下一页
    接口签名如何处理
    Built with