软件测试经理工作日常随记【8】-UI自动化_加密接口的传输
创始人
2024-11-15 23:08:13
0

软件测试经理工作日常随记【8】-UI自动化_加密接口的传输

工具类

#utils_api.py class RequestUtils:      @classmethod     def send_request_splicing(cls, dicts, url):  # 对应请求的入参及请求的函数         Logger.logger_in().info('-----------------{}接口开始执行-----------------'.format(url))         print('-----------------{}接口开始执行-----------------'.format(url))         def parse_url(data: dict):             item = data.items()             urls = "?"             for i in item:                 (key, value) = i                 temp_str = key + "=" + value                 urls = urls + temp_str + "&"             urls = urls[:len(urls) - 1]             print('请求体为:{}'.format(urls))             Logger.logger_in().info('请求体为:{}'.format(urls))             return urls         response = RequestUtils.session.get(url + parse_url(dicts))         Logger.logger_in().info('接口请求成功,响应值为:{}'.format(response.json()))         print('接口请求成功,响应值为:{}'.format(response.json()))         print(response.json()["data"][0]["A"])         return response 

page类

#page_api.py class PageUrl:      def __init__(self):         self.session = requests.session()      def wechat_public_account_api(self, url, params, assert_msg):  # 对应请求的断言的函数         response = RequestUtils().send_request_splicing(url, params)         print("实际response:" + str(response.json()) + ";预期响应:" + assert_msg)         print("实际response.json()[‘data’][0][‘A’]:" + response.json()["data"][0]["A"])         assert response.json()["data"][0]["A"] == assert_msg         return response 

test类

import os import allure import time import sys import pytest import hashlib import urllib.parse from page_url.page_url import PageUrl from utils_app import DbMysql    class TestUrl:      def test_003_wechat_public(self):         A = "valueA"   		B = "valueB"   		json1 = '{"key":"value"}'          json = urllib.parse.quote(json1)  # 用于对URL中的非ASCII字符或特殊字符进行编码,以便它们转为URL的一部分,比如查询参数。其中json串需转化为字符串         md5 = hashlib.md5()  # 创建MD5哈希对象         sign_str = "A=" + A + "&B=" + B + "&json=" + json1         sign_bytes_utf8 = sign_str.encode()  # 将字符串 sign_str 编码为字节串         md5.update(sign_bytes_utf8)  # 使用update方法将字节串数据添加到哈希计算         sign_md5 = md5.hexdigest()  # 使用hexdigest方法来获取当前哈希值的十六进制字符串表示。这个字符串就是sign_str的MD5哈希值         dicts = {'A': A, 'B': B, '_json': _json, 'sign': sign_md5}         url = "http://***"         time.sleep(2)         self.page_url.wechat_public_account_api(dicts, url, RequestUtils.test_number2)         time.sleep(0.3)  

相关内容

热门资讯

微信小程序接入支付功能并实现支... 微信支付是微信公众平台提供的一种在线支付服务,可以为用户提供快速、方便、安全的支付体验...
Mysql重大更新,三个版本遭... 书接上文,7/11日开源数据库软件服务商percona发布重要警告,最新...
事件驱动编程:Symfony ... 事件驱动编程:Symfony 事件系统详解一、引言事件驱动编程是一种广泛应用于现代软件...
vulhub:Apache解析... 在Apache1.x/2.x中Apache 解析文件的规则是从右到左开始判断解析,如果...
从Docker拉取镜像一直失败... 设置国内源:提示:常规方案(作用不大)阿里云...
记录一次环境的安装 目录新添加的代码代码解释为啥ubuntu用debian软件源为啥修改sources.list.dS权...
【Docker篇】使用Dock... 文章目录🛸镜像🌺基本操作⭐docker --help⭐docker ...
引领未来:在【PyCharm】... 目录一、数据准备1. 获取数据集2. 数据可视化3. 数据清洗二、特征提取1. 数据标准化2. 图像...
IDEA中创建一个Spring... 日常开发第一步:第二步:🎈边走、边悟🎈迟...
mac 安装H3C iNode... 一、下载安装官网下载地址https://www.h3c.com/cn/Service/Documen...