那听起来就是你们已经习惯了手写 mysql 的方式,按照加代理做语句替换的方式可能确实是最适合你们的,做好替换器的本地开发感觉是 ok 的
描述再详细点?看看现在的调用链路上的结构是咋样的
上吧,练习写业务的绝佳机会,copilot 会告诉你答案
能理解这个目的,那你这里毕竟把【数据位置】和具体的 json 实例 : resp.json()['data']['list'][0]['id'] 耦合在一起了,得重新设计一下才行
def get_value_by_path(json_data, path):
for key in path:
if isinstance(key, int) or key in json_data:
json_data = json_data[key]
else:
return None
return json_data
# 传参 path
def check_response(resp, path, expected_code=2000):
allure.step("Check response status code and content")
try:
assert resp.status_code == 200, f"Expected status code 200 but got {resp.status_code}"
assert resp.json()['code'] == expected_code, f"Expected code {expected_code} but got {resp.json()['code']}"
# 通过path 拿到数据
return get_value_by_path(resp.json(), path)
except (AssertionError,IndexError) as e:
allure.attach(
json.dumps(resp.json(), ensure_ascii=False, indent=2),
name="response.json",
attachment_type=allure.attachment_type.JSON
)
allure.attach(
resp.text,
name="response.text",
attachment_type=allure.attachment_type.TEXT
)
raise AssertionError(f"Fixture: 断言失败") from e
@pytest.fixture(scope="session", autouse=True)
def tf_get_trainerId_xiehe(tf_getSession):
url = Environment.HOST_ADMIN + 'managerList'
data = {'page': 1,
'limit': 30,
'keys': Environment.userphone_tea,
'characterType': 1,
'roles': ''}
resp = tf_getSession.post(url=url, data=data)
# 自定义 【数据位置】
target_path = ['data', 'list', 0, 'id']
AssociatedDataTanQiang.id_xiehe_admin = check_response(resp,target_path)
yield
# 传参去掉target_position
def check_response(resp, expected_code=2000):
allure.step("Check response status code and content")
try:
assert resp.status_code == 200, f"Expected status code 200 but got {resp.status_code}"
assert resp.json()['code'] == expected_code, f"Expected code {expected_code} but got {resp.json()['code']}"
# target_position在内部的异常处理内再显式调用
return resp.json()['data']['list'][0]['id']
except (AssertionError,IndexError) as e:
allure.attach(
json.dumps(resp.json(), ensure_ascii=False, indent=2),
name="response.json",
attachment_type=allure.attachment_type.JSON
)
allure.attach(
resp.text,
name="response.text",
attachment_type=allure.attachment_type.TEXT
)
raise AssertionError(f"Fixture: 断言失败") from e
@pytest.fixture(scope="session", autouse=True)
def tf_get_trainerId_xiehe(tf_getSession):
url = Environment.HOST_ADMIN + 'managerList'
data = {'page': 1,
'limit': 30,
'keys': Environment.userphone_tea,
'characterType': 1,
'roles': ''}
resp = tf_getSession.post(url=url, data=data)
# 只传resp
AssociatedDataTanQiang.id_xiehe_admin = check_response(resp)
yield
这里不是 allure,fixture,异常处理等等特性的原因
简单理解一下
IndexError 就是越界异常,或者说下标找不到
你再看一下 checkresponse 这个入参
resp.json()['data']['list'][0]['id']
这个 resp 数据的 list 已经没有第 1 个 list,也没有 list 中的 id 了
就是这么越界的吧
check_response(resp,resp.json()['data']['list'][0]['id'])
是因为封装后,对 resp 的参数访问被放到了异常处理外层,然后报 IndexError 吗?
disabled 是一个属性/成员变量
replacedin 确实是格式化输出字符串,你看你举得例子里不就是把 hereisakey 的值读进去了吗
看看这个文档
https://www.postmanlabs.com/postman-collection/VariableScope.html#replaceIn
不了解有什么不同的处理;但是不是这些处理都是系统运行时的一部分,也同时是你评估性能时要覆盖的场景呢?
讨论一下关于第二点我的理解:
你预设的所谓分步骤压力测试与 chatgpt 理解的压力测试并不一致;
你认为解析 MQTT 信息是一个数据的处理,那说明你想评估的是连接 MQTT 的性能;
而 chatgpt 理解的是评估登录的性能,请求并解析 MQTT 的代理的步骤也是登录的一部分;
你这个看起来是刚参加工作但无法适应工作;干测试解决不了你的问题
技术差写业务写不出来就利用互联网慢慢想
工作生活分不开你就多加班,加够了再去公园,街道散散步
V 站是哪,是 youtube 吗
这我也没法给答复,我觉得也可以试试?
一个 jd 多个部门用吧 ,我在的组比较新,还缺人,大伙速来
完了,昨晚忘记了
按报错信息看,可能是安装 django 的时候没有配环境变量。
按报错信息 You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
来看,我找到了这个,应该可以解决你的问题https://www.cnblogs.com/LouisZJ/articles/9545898.html
也就是在代码主函数配置环境变量
'''
import os
if name == 'main' :
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django 路径/django 配置文件.settings' )
'''
我也刚工作一年,正好在想自己的职业价值;目前工作可以带给我的提升。
在回帖里梳理一下自己的思路:
我恰好最近跳了一次,回头梳理一下,我觉得是这些能力提升带来的涨薪:
虽然都是微末的提升,但确实是比一年前长进的地方
- 对测试工程的理解加深,在工作中掌握了测试工程方法:
- 测试工作的目的是什么:产品质量,用户体验
- 达成这个目的,测试项目管理上要关注什么:产品/模块风险与人力的平衡,测试过程记录,用例设计与维护等工程在管理角度上的意义和实施办法
- 测试技术上,了解不同技术手段能在产品的哪些模块功能上保障质量
- 结合业务/代码的理解,对缺陷做漏测阶段/原因分析的能力
对于 RFC,如果注册中心 (Dubbo+Zookeeper 微服务) 是系统外部服务
1、那此时不适合对其做性能测试,应该怎么保障自身系统可用性?
我目前的简单认识,RFC 调用时出错,可由编码做错误重试
我发现架构图内注册中心不参与 HTTP/RFC 直接调用活动,并且保障可用性的方式是:服务容错,限流/降级
2、这些是怎么做的呢?
Playwright 的社区描述是指跟 Cypress 相比规模小吗
很惊讶,社区出的接口测试白皮书我在一年前的时候已经拜读过了,现在正是时候拿出来再温习一遍。https://testerhome.com/topics/32419
我找 Bing AI 问了一下这个问题:
Tip: 有任何能帮助我了解学习客户端测试,服务端测试的经验,历史上的帖子,github 上的项目,书目希望能给我推荐一下
我筛选一下了 AI 的回答,觉得有两个链接很有用: