加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
conftest.py 4.81 KB
一键复制 编辑 原始数据 按行查看 历史
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 设置utf-8 显示中文
"""
@Create Time: 20年 11-14 21:27
@Author: guo
@File:conftest.py
"""
import json
from string import Template
import pytest
import requests
import sys
from common.util.get_file_path import GetFilePath
from common.util.handle_jsonfile import HandleJsonFile
from common.yml.get_yml_keys import GetYmlKeys
sys.path.append("../")
from common.cookie.get_web_cookie import GetWebCookie
from common.cookie.get_app_cookie_header import GetAppCookieHeader
from common.util.generate_device_key import GenerateDeviceKey
from config.get_conf_data import GetConfData
get_conf_data = GetConfData()
ymlkeys = GetYmlKeys()
fpath = GetFilePath()
hjson = HandleJsonFile()
web_login_data: dict = get_conf_data.get_web_login_request_data()
app_login_data: dict = get_conf_data.get_app_login_request_data()
logindata_key = ymlkeys.get_login_data_key()
res_filepath_key = ymlkeys.get_response_filepath_key()
token_key = ymlkeys.get_token_filepath_key()
@pytest.fixture(scope="class")
def web_login(request):
login_data = request.param[logindata_key]
res_filepath = request.param[res_filepath_key]
token_path = request.param[token_key]
global web_login_data
web_login_data = __replace(web_login_data,login_data)
res = requests.request(**web_login_data)
get_cookies = GetWebCookie(res)
# 当response_filepath 不为None时,则保存当前的登录响应结果
if res_filepath != None:
res_filepath = fpath.get_file_abspath_json(res_filepath)
hjson.write_dict_to_json_file(res_filepath, res.json())
# 当token_filepath 不为None时,则保存当前的cookie
if token_path != None:
token_path = fpath.get_file_abspath_json(token_path)
token = get_cookies.get_cookie()
hjson.write_dict_to_json_file(token_path, token)
# return get_cookies
@pytest.fixture(scope="class")
def app_login(request):
login_data = request.param[logindata_key]
res_filepath = request.param[res_filepath_key]
token_path = request.param[token_key]
loginid = login_data['loginId']
global app_login_data
app_login_data = __replace(app_login_data,login_data)
app_login_data['device'] = GenerateDeviceKey().generate_key_by_account(loginid)
res = requests.request(**app_login_data)
get_header = GetAppCookieHeader(res)
# 当response_filepath 不为None时,则保存当前的登录响应结果
if res_filepath != None:
res_filepath = fpath.get_file_abspath_json(res_filepath)
hjson.write_dict_to_json_file(res_filepath, res.json())
# 当token_filepath 不为None时,则保存当前的cookie
if token_path != None:
token_path = fpath.get_file_abspath_json(token_path)
token = get_header.get_header()
hjson.write_dict_to_json_file(token_path, token)
# return get_header
@pytest.fixture(scope="class")
def get_web_login_response(request):
login_data = request.param[logindata_key]
res_filepath = request.param[res_filepath_key]
token_path = request.param[token_key]
global web_login_data
web_login_data=__replace(web_login_data,login_data)
res = requests.request(**web_login_data)
# 当response_filepath 不为None时,则保存当前的登录响应结果
if res_filepath != None:
res_filepath = fpath.get_file_abspath_json(res_filepath)
hjson.write_dict_to_json_file(res_filepath, res.json())
# 当token_filepath 不为None时,则保存当前的cookie
if token_path != None:
token_path = fpath.get_file_abspath_json(token_path)
get_cookies = GetWebCookie(res)
token = get_cookies.get_cookie()
hjson.write_dict_to_json_file(token_path, token)
# return res
@pytest.fixture(scope="class")
def get_app_login_response(request):
login_data = request.param[logindata_key]
res_filepath = request.param[res_filepath_key]
token_path = request.param[token_key]
loginid = login_data['loginId']
global app_login_data
app_login_data = __replace(app_login_data,login_data)
app_login_data['data']['device'] = GenerateDeviceKey().generate_key_by_account(loginid)
res = requests.request(**app_login_data)
# 当response_filepath 不为None时,则保存当前的登录响应结果
if res_filepath != None:
res_filepath = fpath.get_file_abspath_json(res_filepath)
hjson.write_dict_to_json_file(res_filepath, res.json())
# 当token_filepath 不为None时,则保存当前的cookie
if token_path != None:
token_path = fpath.get_file_abspath_json(token_path)
get_header = GetAppCookieHeader(res)
token = get_header.get_header()
hjson.write_dict_to_json_file(token_path, token)
# return res
def __replace(templace,login_data:dict):
tem = Template(json.dumps(templace))
res = json.loads(tem.substitute(**login_data))
return res
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化