美文网首页
零基础小白(一)分析接口需求设计demo脚本

零基础小白(一)分析接口需求设计demo脚本

作者: 巴鶴 | 来源:发表于2021-01-09 15:32 被阅读0次

准备对游戏App接口进行自动化测试,首先从登陆接口开始,搞定登陆接口自动化设计思路,写个小白demo脚本

步骤1: Charles抓包查看登录接口信息

    headers = {
        "User-Agent": "okhttp/3.12.7-SNAPSHOT",
        "App-Channel": "x00008005",
        "Connection": "Keep-Alive",
        "Content-Type":"application/json;charset=UTF-8",
        "Host":"sdk-xxxxx.com",
        "App-GameId": "900005",
        "App-DeviceNum": "7777712c2a3d-20d9-3d65-ad21-7e3041f39b49"}
  • 查看params传参信息
params = {"thirdParams": "", "uId": "88888121508241945",
              "nickName": "9994208800", "session": "i68OUB7X0SDwy859l0",
              "visitorToken": ""}

步骤2: 代码编辑器选择Pycharm, 开发语言Python

Pycharm安装教程,自行上网查询

步骤3: 安装Python自带的接口自动化requests库

pip install requests 注意如果提示pip升级,优先升级pip,再安装requests 库

本地已安装requests.jpg

步骤4: 设计登录demo脚本

为了使demo版代码稍微简洁,Header头信息和params传参信息,分别定义个方法,供后续调用

定义header方法

def get_SDK_header():
    headers = {
         "User-Agent": "okhttp/3.12.7-SNAPSHOT",
        "App-Channel": "x00008005",
        "Connection": "Keep-Alive",
        "Content-Type":"application/json;charset=UTF-8",
        "Host":"sdk-xxxxx.com",
        "App-GameId": "900005",
        "App-DeviceNum": "7777712c2a3d-20d9-3d65-ad21-7e3041f39b49"}
    header = headers
    return header

定义params方法

def get_params():
    params = {"thirdParams": "", "uId": "88888121508241945",
              "nickName": "9994208800", "session": "i68OUB7X0SDwy859l0",
              "visitorToken": ""}
    params = params
    return params

编写登录接口脚本

def login_result_token():
    '''登录成功'''
    header = get_SDK_header()
    params = get_params()
    base_url = 'https://xxxxxx/member/api/mi/login'
    r = requests.post(url=base_url, headers=header, json=params, verify=False)
    result = r.json()

    #3、输出结果
    print(json.dumps(result, sort_keys=True, ensure_ascii=False, indent=4, separators=(', ', ': ')))
    # result_token = result["data"]
    # return result_token

if __name__ == '__main__':
    print(login_result_token())

步骤5: 执行登录demo脚本

运行脚本,查看接口结果

{
    "code": 200, 
    "data": {
        "isFrozen": false, 
        "requestToken": "eyJhbGciOiJIUzI1NiJ9.eyJkZXZpY2VOdW0iOiI4MTJjMmEzZCNjUtYWQyMS03ZTMNDkiLCJhcHYWQzYWM5NjBmDAwMDUsImNoYWIwMDAwMTIjo5MDc2NcxYWQ5NjBmYjlkYmFjY29DE4ZGY4ZjcxZGU0TUzNyJ9.zv3X8XMTX9n4BHaDSOC7wHriRkRq6uStomz0JVd-ncw", 
        "type": 1, 
        "userPhone": ""
    }, 
    "message": null
}

步骤6: 运行脚本对比 Charles抓包返回

脚本访问同抓包返回一致.jpg

接口自动化--登录demo脚本参考

# -*- coding: utf-8 -*-
# @Time : 2021/1/9 13:39
# @File : test 001.py
# @Author : Yvon_₯㎕ζ๓

import  requests,json

#定义header方法
def get_SDK_header():
    headers = {
         "User-Agent": "okhttp/3.12.7-SNAPSHOT",
        "App-Channel": "x00008005",
        "Connection": "Keep-Alive",
        "Content-Type":"application/json;charset=UTF-8",
        "Host":"sdk-xxxxx.com",
        "App-GameId": "900005",
        "App-DeviceNum": "7777712c2a3d-20d9-3d65-ad21-7e3041f39b49"}
    header = headers
    return header
#定义params方法
def get_params():
    params = {"thirdParams": "", "uId": "88888121508241945",
              "nickName": "9994208800", "session": "i68OUB7X0SDwy859l0",
              "visitorToken": ""}
    params = params
    return params
def login_result_token():
    '''登录成功'''
    header = get_SDK_header()
    params = get_params()
    base_url = 'https://xxxxxx/member/api/mi/login'
    r = requests.post(url=base_url, headers=header, json=params, verify=False)
    result = r.json()

    #3、输出结果
    print(json.dumps(result, sort_keys=True, ensure_ascii=False, indent=4, separators=(', ', ': ')))
    # result_token = result["data"]
    # return result_token

if __name__ == '__main__':
    print(login_result_token())

相关文章

网友评论

      本文标题:零基础小白(一)分析接口需求设计demo脚本

      本文链接:https://www.haomeiwen.com/subject/umucaktx.html