python 自动化测试

1.安装requests

python -m pip install requests

控制台信息

(venv) D:\PythonProject\postman>python -m pip install requests
Collecting requests
  Downloading https://files.pythonhosted.org/packages/7d/e3/20f3d364d6c8e5d2353c72a67778eb189176f08e873c9900e10c0287b84b/requests-2.21.0-py2.py3-none-any.whl (57kB)
    100% |████████████████████████████████| 61kB 189kB/s
Collecting chardet<3.1.0,>=3.0.2 (from requests)
  Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
    100% |████████████████████████████████| 143kB 609kB/s
Collecting certifi>=2017.4.17 (from requests)
  Downloading https://files.pythonhosted.org/packages/60/75/f692a584e85b7eaba0e03827b3d51f45f571c2e793dd731e598828d380aa/certifi-2019.3.9-py2.py3-none-any.whl (158kB)
    100% |████████████████████████████████| 163kB 674kB/s
Collecting idna<2.9,>=2.5 (from requests)
  Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
    100% |████████████████████████████████| 61kB 3.7MB/s
Collecting urllib3<1.25,>=1.21.1 (from requests)
  Downloading https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl (118kB)
    100% |████████████████████████████████| 122kB 5.0MB/s
Installing collected packages: chardet, certifi, idna, urllib3, requests
Successfully installed certifi-2019.3.9 chardet-3.0.4 idna-2.8 requests-2.21.0 urllib3-1.24.1

2.登录参数对象

# 模块 core.login_user.py

class
LoginUser:
  # 构造方法
def __init__(self, username, password, captcha, sms_code): self.username = username self.password = password self.captcha = captcha self.sms_code = sms_code

3 编写自动登录

import requests

from core.login_user import LoginUser


def post(_sessoin):
    # 1.准备参数(获得安全校验请求头参数,请求参数准备) 2.发送登录信息

    # 1.准备参数(获得安全校验请求头参数,请求参数准备)
    # 登录参数对象
    _user = LoginUser(username='zyadmin', password='password', captcha='N3QC', sms_code='286390');
    # 失败的尝试 
    # user_json = json.dumps(_user, default=lambda obj: obj.__dict__)
    # 服务端 需要的xsrf 需要get请求获取
    xsrf_token = _sessoin.get('http://168.61.10.69:8095/thfx/api/benchmark/getBenchmarks').headers.get('XSRF-TOKEN');
    # 2 发送登录请求
    response_res = _sessoin.post(
        url='http://168.61.10.69:8095/thfx/api/ajaxlogin',
        # 失败的尝试
        # json=user_json,
        # __dict__ 类的内置属性
        json=_user.__dict__,
        headers={
            # 模式ajax请求
            'X-Requested-With': 'XMLHttpRequest',
            'Content-Type': 'application/json',
            # 安全校验
            'X-XSRF-TOKEN': xsrf_token
        }

    )
    print(response_res)

# 保证同一个session
session = requests.session()
# 调用方法
post(session)

 

posted @ 2019-04-12 14:00  ronniery  阅读(274)  评论(0编辑  收藏  举报