debugtalk補助機能が得るエキス抽出パラメータ、:アドレスの方法に関連するパラメータの2種類があります。
まず、抽出エキスのパラメータを見てください:
トークンリターン・パラメータ内のログインに成功直接抽出エキス分後:
そして、次の要求は、直接$どの参照にトークン
第二:debugtalk補助機能が取得します
第一の端部debugtalk.pyファイルを作成し、以下のように、ログイントークンを取得するための関数を記述します。
import requests url = 'http://49.235.92.12:9000/api/v1/login' def get_token(username='test', pwd='123456'): body = {"username": username, "password": pwd} header = {"User-Agent": "Mozilla/5.0", "Content-Type": "application/json"} r = requests.post(url=url, json=body, headers=header) try: result = r.json() token = result['token'] return token except Exception as e: print('获取失败原因{}'.format(e)) print('返回结果{}'.format(r.text)) return '' if __name__ == '__main__': print(get_token())
接下来就是在yml文件用${get_token()}引用这个函数,将登录的token值传递到请求头里面
最终运行结果:
要在hrun里面实现参数化也是很简单的,只需要加上parameters的参数,添加上对应的参数,然后引用参数就可以了。
参数化运行结果:
yml文件如下:
- config: name: testcase description variables: pwd: 123456 parameters: - username: [test,test1,test2] - test: name: /info request: headers: Content-Type: application/json User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Authorization: Token ${get_token($username,$pwd)} method: GET url: http://49.235.92.12:9000/info validate: - eq: [status_code,200] - eq: [content.code,0] - eq: [content.data.0.name,test]