| 1 |
01_用户/test_01获取验证码.py |
Test01获取验证码.test_01获取验证码 |
获取登陆图片验证码 |
0.452782 |
通过 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:set_api_to_cache.py:31 ==============开始设置当前用例数据至缓存中============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:jsonpath_control.py:108 使用分隔符':'和索引1从'CODE-KEY:2aa2aa55-b8ed-4d8d-9202-10ad064c9a4e'中提取值: '2aa2aa55-b8ed-4d8d-9202-10ad064c9a4e' [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:set_api_to_cache.py:64 设置当前用例response中的数据至缓存中,缓存[key]为:base64_key [val]为:2aa2aa55-b8ed-4d8d-9202-10ad064c9a4e [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:jsonpath_control.py:108 使用分隔符'base64,'和索引1从'data:image/png;base64,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'中提取值: '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' [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:set_api_to_cache.py:64 设置当前用例response中的数据至缓存中,缓存[key]为:image_data [val]为:iVBORw0KGgoAAAANSUhEUgAAAFAAAAAoCAIAAADmAupWAAAJ9UlEQVR4nOxZeVRTZ/q+N/cmNytZIEBCAiGEAILEEhGQVakgi6Uuv7a/jrWdcanUrqeOTqfbbO1pO1rn2M7UtjPHsZ6OllqVGaWDtRgVFWmNIKHDLiAhISRAlpuVmzsnE05QSCK4cezp8xfv8nx8T94v7/fmXhgdGQfuK/zx4Ht0Cp2KUF2Yy2pHURuK4W4eh/ezZWvJJPJN6eD9JdhsNT+za/OGso2oHYVhIoVEoSAUiEA4e+UsRIC2rHzWm3ah9fzH/9xDo9DHsXG7w+bCXCSY9PzqF9KkcniuJXhgcVquDCrbdK29Iz1G25gTc4aQmfHcxCJpaTRbdH3mODZOhIk5qbkQAfI526+1ozZLU1eTT3Bbf1s4O3xp2oMLE+RkEoVAINQ0HD/VdCpNKp/jChvtY0daqrr1HXLhoviwRD5TwEAYBBDSo8PfX2uobT++OvWxPPFSX77b7f7D/t+39f9Hwpf8au2vqQgVc2NP79i4tugJAVcoiZJ405wux8lLJ2saaj588c/NXU27vtwVwQ5/fNlaWZxsLiusMak/V+5dGl/85MKNIAheHwqnR5QmVaTwZDsVbwuY0eLQCSUEAuGNJ98EAOBvx//6UfVfXn5kq8VmgSG4YMGS6+kkIkKn0IXhwrb+tverdm5//JV5onkTK9xDgVNRrTqUJcpLi0qfotaHaJZoeWL5Nx0100NPLn+qR92tuqqikWlG1IS5sSkJiiZFemL6zi92vLDmRZ/aORbcqW+3OMwWpwUAgDHbaG37sXfrfvvc4fW/qd3eP9brzZELFnXpO6ZzYQh+omjdP05+DkOwmBeruqq6PjpiGulSdw0MD8wXp6RJ5TcQ77KoYJALFjEQxqcXPiBCJJW2GcdxAACSI+cXJZTta/zk9aK3AQDgUEPtLptfemZy1sG6A629rTmpuXXKb2VxMl+o7vK3Mons5PffvP/srimsuazwowueuDrS3ab7oUXT5FULAECrtkWlaTY5TF6zd6SHzxQGWqEiZ+WRM18VLFii7Lg0Yh7xOnEcr22sHR93Zc/PDmNyp1DuQIUHh4ZHjaaIsNB+jZbDYoqieDMkQgSoInmNHh1mUzhRTKGQFc0PEdBI9GFURyZSvDlnexS54oJAK+TJ8vaf+ExvHC6UP3jkzOH1ZRsAAFB2Kpl0ZmvvDzsqd0yn3G6FcRw3WVAajdo3qPlacW7np/tnRacjjBdyt61buKEwvljKTaIjDBAEGUhIaVIFAADDliGNSZ0tyg9EhwhQeVZ5df3R1XmrTzcphseGAQD4uuE4FaEmCBPC2RHTKbcruKW9K0EcI4riyVOSXt2y3ma33+aCbtyNwAgB9GzsqOrQuvQNgXq4F8szShrbvnO4HGVZ5V/UHTCYDB0DnUbLWFlWmd98GHPaB5vO6lobjepuu9HgxjASLYQZJY5IyRCmPwghlOD70w4bEuNEJCLRaxIIt/4J2lxWDHfTSXSv+U1HzYKoNAEzOjiLilBLMkqqTlU9VfLzzTufFvFiOSEcs9Uki1vgNx9WvFsZkbxIkF6Y9NB6EpUBIWQnarLoBgaVp+ve3hi/7DFRTnmgf2Z3OIxms9Xm8AkmwrfYFAxWPYDjoTRPj8HcWE1btZSblMBNmgn34ZyVz+zavDp/TXF68We1+wAAKMssD3QuYITBTlrxC4iI+FwIg40w2KFx8+MK/+/iR69adNdSVlX6Je/76tjC1Hkmi4UVMlEWGvUmJ8IvtOZBEoRwaGEAAJjsxvO9ZwolxVQSbYZ0CkIpX7ziS0VVZcUzAq7g7//em5uaGygZDuHHaprrHabR/osnrAYthRXGS82OX/YYTKFRORGy/3/p3O6toXHzebKc6eQBrY4XHkaE4Wh+pNfDYYbMVm3zoJIfEsWhhnrNPRd2d+s7jrRU+RIgApQUkfJcztYgi5Rnrdi8c5PBqI8XSgEAEPPjAgrmpS5u2POaz0b1mq66Q0Z1d2al595nCiU0Lr/zxAG/gvMz0i63tjNok6XgRUy994Lj3NXTZodJxk/zebYteX162scXdgdfByEiyxeVHK0/KooUyST+v71eELiJckF6oUc6mTqvYkPJO18teeXj0d42bxjVqYWLlqF6jV9yolik1up0BoPPQ6fM7khXqw6xKOybpnnHz+AozSw9e+VMz2CPKFIUJM3TVGWPPB+b91DB9o/ilqwGQbDndDVHnOwN9547htBZzCj/J0TAizBZUP2o0edBbf7HwEAAQdDvqDwFY9bRm+YwqCHxAml9y1kBN+BkNjFpEYiklFWVVoO2+eCf1EoFNTQyY9PvAAAYUjWAIGHw8pnY/IpAfCIRHjWafKbVNrt7WMZP6xvttbqsVCLVbwIO4G7cjc6gwgAAbFqx6VL7JfmNvxamYPIW6W+oHbvWmbKqUpheCEKwvrO5t/6YYOFSh8Xo9wvsBUQgGE1mn2mzO2ayMx+yY/OaB5UvHX06eFoYLXwmq0VyeGVZAS9RLybnBG7CAwJ5QXRmsUdt++XGT94gs8K0qoa0tb8Mwocgwph58uMnEmd3D8ewxd67NwhAEMwRB5wuZ4vJ/bGipWqlwvs3PVKYsmqzWdNn+990GgQ4jjtdLp8ZxmYdrq2jksme+QHDVB3dqo5uNpOx+81tgVbw25bvHiYFQyQyAZowycyw6KwSzy/pntbW6k/nr9kSiO9246h1slH1qTXL8xfLkqRes2xpbmdv/5mLyrspYXa4YfRFGOzjL5ef/3Cb1aD1ejjiZIiIGAe6AvGdLpfd4fSZ2zc/5VPrhcPhlIiCtc17jBsEi3JXQCSyoatFuf89nzM6s2jgu28D8R1O1/Vd2m8CDEF3aLd3ADf0GCKFXvzWF9or569UfeBzUjmRw+0BzyRqszldrobLLQw6DbXa1FqdCUXtdsc4huE4PqQfuTaoLcrLyr7LMmaOaU0Vx93YOP+BPJ+DQCTZxwyB+Caz5dHyIkmMsOeaGoah/Aw5hzU5TptR67t79i7Lybgre78lTAgeam3U/dBoHOiyGrRRaQXJKycvRpc12KUvS5Ju3bjO0585rCkhq81+9MSp157dQEaQu7P5W4FH8Ljd2qM4nLXlnelhs6bXaTXTuHy/ZIfTJY2N6bjapx026AwjQ/oRDMPCOGw6lXLwX7UlBdlrHy4N/rzi3gNER8bbavZROZHRmcVTYkOtF3sUR4gUWqgkNTbP/3TZcbWvT60BQTCMzRLyI0NZzHuy7VuHp8LqSwpheqHVoKGwIzCn3W40GAe6NM31mivnPWdVkhrkoYc0NkYaG3Nv93xb8FRY01z//d63/MRAMGZx6byHN17/POR+x8Tbw84TBzpPHHS7xyEigoSw6VxBqCSF/0A+hT2jqf0+wn32Qvz2MZevWuYEPwn+seMnwT92/DcAAP//RnDfkdx0SfsAAAAASUVORK5CYII= [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:ocr_control.py:37 OCR识别结果: 3L2V [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:jsonpath_control.py:118 OCR识别结果: 3L2V [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:set_api_to_cache.py:64 设置当前用例response中的数据至缓存中,缓存[key]为:captcha_code [val]为:3L2V [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: get_captcha_01 用例标题: 获取登陆图片验证码 请求路径: http://60.204.148.70:9998/captcha 请求方式: GET 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;'} 请求内容: {} 响应内容: {"code":200,"key":"action.success","result":{"base64":"data:image/png;base64,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","key":"CODE-KEY:2aa2aa55-b8ed-4d8d-9202-10ad064c9a4e"},"success":true} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 200}, '断言2': {'response': '$.success', '==': True}}}] 接口响应时长: 369.87 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:200。预期结果:200。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:True。预期结果:True。比较方式:equal
|
| 2 |
01_用户/test_02用户登录.py |
Test02用户登录.test_02用户登录 |
登陆SCADA,返回:登陆成功 |
0.376754 |
通过 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:captcha_code [val]为:3L2V [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:base64_key [val]为:2aa2aa55-b8ed-4d8d-9202-10ad064c9a4e [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:set_api_to_cache.py:31 ==============开始设置当前用例数据至缓存中============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:set_api_to_cache.py:64 设置当前用例response中的数据至缓存中,缓存[key]为:scada_token [val]为:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30 [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: logoin_01 用例标题: 登陆SCADA,返回:登陆成功 请求路径: http://60.204.148.70:9998/v1/auth/login 请求方式: POST 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;', 'Content-Length': '211'} 请求内容: {"json": {"account": "admin", "password": "Td9saG/kHkfFyk0qsrh2vA==", "code": "3L2V", "clientType": "PC", "encrypted": true, "key": "2aa2aa55-b8ed-4d8d-9202-10ad064c9a4e", "loginType": 2, "region": 1, "rememberMe": true}} 响应内容: {"code":200,"key":"action.success","result":{"accessToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30","tokenPrefix":"Bearer","userInfo":{"account":"admin","authorities":[],"email":"","enabled":true,"id":"4","mobile":"","nickname":"管理员"}},"success":true} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 200}, '断言2': {'response': '$.success', '==': True}}}] 接口响应时长: 373.39 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:200。预期结果:200。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:True。预期结果:True。比较方式:equal
|
| 3 |
01_用户/test_02用户登录.py |
Test02用户登录.test_02用户登录 |
登陆SCADA,提示:验证码不存在 |
0.383139 |
通过 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:captcha_code [val]为:3L2V [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: logoin_02 用例标题: 登陆SCADA,提示:验证码不存在 请求路径: http://60.204.148.70:9998/v1/auth/login 请求方式: POST 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;', 'Content-Length': '211'} 请求内容: {"json": {"account": "admin", "password": "Td9saG/kHkfFyk0qsrh2vA==", "code": "3L2V", "clientType": "PC", "encrypted": true, "key": "4cb0b235-98ae-442a-ae68-09b6e18ab140", "loginType": 2, "region": 1, "rememberMe": true}} 响应内容: {"code":400,"key":"action.failed","msg":"验证码不存在","success":false} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 400}, '断言2': {'response': '$.msg', '==': '验证码不存在'}}}] 接口响应时长: 380.55 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:400。预期结果:400。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:验证码不存在。预期结果:验证码不存在。比较方式:equal
|
| 4 |
01_用户/test_02用户登录.py |
Test02用户登录.test_02用户登录 |
登陆SCADA,提示:验证码错误 |
0.374856 |
通过 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:base64_key [val]为:2aa2aa55-b8ed-4d8d-9202-10ad064c9a4e [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: logoin_03 用例标题: 登陆SCADA,提示:验证码错误 请求路径: http://60.204.148.70:9998/v1/auth/login 请求方式: POST 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;', 'Content-Length': '211'} 请求内容: {"json": {"account": "admin", "password": "Td9saG/kHkfFyk0qsrh2vA==", "code": "DUZE", "clientType": "PC", "encrypted": true, "key": "2aa2aa55-b8ed-4d8d-9202-10ad064c9a4e", "loginType": 2, "region": 1, "rememberMe": true}} 响应内容: {"code":400,"key":"action.failed","msg":"验证码不存在","success":false} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 400}, '断言2': {'response': '$.msg', '==': '验证码不存在'}}}] 接口响应时长: 372.3 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:400。预期结果:400。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:验证码不存在。预期结果:验证码不存在。比较方式:equal
|
| 5 |
01_用户/test_03密码修改.py |
Test03密码修改.test_03密码修改 |
修改密码,提示:密码修改成功 |
0.394827 |
通过 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:scada_token [val]为:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30 [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: update_passwd_01 用例标题: 修改密码,提示:密码修改成功 请求路径: http://60.204.148.70:9998/v1/user/update/password 请求方式: PUT 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;', 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30', 'Content-Length': '91'} 请求内容: {"json": {"oldPwd": "Jinko@2025~!@#$", "newPwd": "Jinko@2025~!@#$", "confirmPwd": "Jinko@2025~!@#$"}} 响应内容: {"code":200,"key":"action.success","result":"密码修改成功","success":true} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 200}, '断言2': {'response': '$.success', '==': True}, '断言3': {'response': '$.result', '==': '密码修改成功'}}}] 接口响应时长: 391.94 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:200。预期结果:200。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:True。预期结果:True。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:密码修改成功。预期结果:密码修改成功。比较方式:equal
|
| 6 |
01_用户/test_03密码修改.py |
Test03密码修改.test_03密码修改 |
修改密码,提示:原密码错误 |
0.386667 |
失败 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:scada_token [val]为:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30 [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: update_passwd_02 用例标题: 修改密码,提示:原密码错误 请求路径: http://60.204.148.70:9998/v1/user/update/password 请求方式: PUT 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;', 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30', 'Content-Length': '92'} 请求内容: {"json": {"oldPwd": "Jinko@2025~!@#$1", "newPwd": "Jinko@2025~!@#$", "confirmPwd": "Jinko@2025~!@#$"}} 响应内容: {"code":400,"key":"action.failed","msg":"原密码错误,忘记密码请联系管理员重置密码","success":false} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 400}, '断言2': {'response': '$.success', '==': True}, '断言3': {'response': '$.msg', 'startswith': '原密码错误'}}}] 接口响应时长: 384.13 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:400。预期结果:400。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:False。预期结果:True。比较方式:equal
self =
case_data = {'assertions': [{'details': {'conditions': [{'expect_value': 400, 'jsonpath': '$.code', 'operator': '=='}, {'expect_va...startswith'}]}, 'group_name': None, 'type': 'case'}], 'case_id': 'update_passwd_02', 'data': None, 'export': None, ...}
@pytest.mark.parametrize('case_data', TestData)
def test_03密码修改(self, case_data):
"""
:param :
:return:
"""
case_data = HandlerSetup(case_data).setup()
res_info = HandleRequest(case_data).request()
HandlerTeardown(res_info).teardown()
> HandleAssert(res_info).assertions()
test_case/01_用户/test_03密码修改.py:28:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
utils/handler_assert/assert_control.py:34: in assertions
self.execute_assertions(dependencies)
utils/handler_assert/assert_control.py:45: in execute_assertions
self.execute_conditions(depend_type, details)
utils/handler_assert/assert_control.py:69: in execute_conditions
self.handle_response_or_db_assert(data, jsonpath, operator, expect_value)
utils/handler_assert/assert_control.py:93: in handle_response_or_db_assert
self.assert_func_mapping[assert_operator](actual_value, expect_value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
actual_value = False, expect_value = True
def equal(actual_value: Any, expect_value: Any):
"""
判断是否相等
"""
> assert actual_value == expect_value
E AssertionError
utils/handler_assert/assert_type.py:18: AssertionError
|
| 7 |
01_用户/test_03密码修改.py |
Test03密码修改.test_03密码修改 |
修改密码,提示:原密码为空 |
0.383840 |
失败 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:scada_token [val]为:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30 [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: update_passwd_03 用例标题: 修改密码,提示:原密码为空 请求路径: http://60.204.148.70:9998/v1/user/update/password 请求方式: PUT 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;', 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30', 'Content-Length': '76'} 请求内容: {"json": {"oldPwd": "", "newPwd": "Jinko@2025~!@#$", "confirmPwd": "Jinko@2025~!@#$"}} 响应内容: {"code":400,"key":"action.failed","success":false} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 400}, '断言2': {'response': '$.success', '==': True}, '断言3': {'response': '$.msg', 'startswith': '原密码为空'}}}] 接口响应时长: 381.14 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:400。预期结果:400。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:False。预期结果:True。比较方式:equal
self =
case_data = {'assertions': [{'details': {'conditions': [{'expect_value': 400, 'jsonpath': '$.code', 'operator': '=='}, {'expect_va...startswith'}]}, 'group_name': None, 'type': 'case'}], 'case_id': 'update_passwd_03', 'data': None, 'export': None, ...}
@pytest.mark.parametrize('case_data', TestData)
def test_03密码修改(self, case_data):
"""
:param :
:return:
"""
case_data = HandlerSetup(case_data).setup()
res_info = HandleRequest(case_data).request()
HandlerTeardown(res_info).teardown()
> HandleAssert(res_info).assertions()
test_case/01_用户/test_03密码修改.py:28:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
utils/handler_assert/assert_control.py:34: in assertions
self.execute_assertions(dependencies)
utils/handler_assert/assert_control.py:45: in execute_assertions
self.execute_conditions(depend_type, details)
utils/handler_assert/assert_control.py:69: in execute_conditions
self.handle_response_or_db_assert(data, jsonpath, operator, expect_value)
utils/handler_assert/assert_control.py:93: in handle_response_or_db_assert
self.assert_func_mapping[assert_operator](actual_value, expect_value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
actual_value = False, expect_value = True
def equal(actual_value: Any, expect_value: Any):
"""
判断是否相等
"""
> assert actual_value == expect_value
E AssertionError
utils/handler_assert/assert_type.py:18: AssertionError
|
| 8 |
01_用户/test_04二次验证码.py |
Test04二次验证码.test_04二次验证码 |
获取二次验证码,返回:验证码正确 |
0.383652 |
通过 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:scada_token [val]为:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30 [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: get_captcha2_01 用例标题: 获取二次验证码,返回:验证码正确 请求路径: http://60.204.148.70:9998/v1/mgc/strategy/code 请求方式: POST 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30', 'Content-Length': '30'} 请求内容: {"json": {"verificationCode": "123456"}} 响应内容: {"code":200,"key":"action.success","result":{"valid":true},"success":true} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 200}, '断言2': {'response': '$.result.valid', '==': True}}}] 接口响应时长: 381.04 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:200。预期结果:200。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:True。预期结果:True。比较方式:equal
|
| 9 |
01_用户/test_04二次验证码.py |
Test04二次验证码.test_04二次验证码 |
获取二次验证码,提示:验证码不存在 |
0.389108 |
通过 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:scada_token [val]为:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30 [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: get_captcha2_02 用例标题: 获取二次验证码,提示:验证码不存在 请求路径: http://60.204.148.70:9998/v1/mgc/strategy/code 请求方式: POST 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;', 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30', 'Content-Length': '30'} 请求内容: {"json": {"verificationCode": "111111"}} 响应内容: {"code":200,"key":"action.success","result":{"valid":false},"success":true} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 200}, '断言2': {'response': '$.result.valid', '==': False}}}] 接口响应时长: 386.57 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:200。预期结果:200。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:False。预期结果:False。比较方式:equal
|
| 10 |
07_统计报表/test_01获取报表设备类型.py |
Test01获取报表设备类型.test_01获取报表设备类型 |
获取PCS报表 |
0.397377 |
通过 |
|
[35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:cache_control.py:96 从缓存中获取数据, 缓存[key]为:scada_token [val]为:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30 [32mINFO [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:log_decorator.py:55 =========================================================== 用例ID: get_report_type01 用例标题: 获取PCS报表 请求路径: http://60.204.148.70:9998/v1/curveReport/devices?deviceType=pcs 请求方式: GET 请求头: {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36', 'Accept-Encoding': 'gzip, deflate, br', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json;', 'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNCIsImFjY291bnQiOiJhZG1pbiIsImlzcyI6ImNsb3VkbGlua2VkZ2UiLCJpYXQiOjE3NjEyMDcxNTh9.-AY6WZYrDWnu2q_vmPGDH6WJxfE8Bb2x8We03qtzj30'} 请求内容: {"params": {"deviceType": "pcs"}} 响应内容: {"code":200,"key":"action_success","result":[{"bankIndex":1,"cells":null,"childDevices":[],"createBy":"1409749182851448832","createTime":"2025-10-21T18:51:55+08:00","ct":null,"deleted":0,"description":null,"deviceIndex":2,"deviceNo":"g2.55555555_bank_1_rack_1_pcs","emsServerId":"1978298659909009408","energyStationId":"1978293377799684096","expirationTime":null,"groupNo":23,"id":"1980467052812566528","ip":null,"lastHeartbeatAt":null,"modelId":"1976522806728458240","modelKey":"JKESSCU_V1.0_PCS","modifyBy":"1409749182851448832","modifyTime":"2025-10-21T18:52:03+08:00","name":"PCS1","offlineCount":null,"parentDeviceId":null,"points":[],"productId":"1668097511899922432","productKey":"PCS","pt":null,"rackIndex":1,"status":null,"tenantId":null,"timeZone":null,"totalOfflineTime":null,"transformerAssetId":"Q7Kb9tDxx7j"},{"bankIndex":2,"cells":null,"childDevices":[],"createBy":"1409749182851448832","createTime":"2025-10-21T18:51:55+08:00","ct":null,"deleted":0,"description":null,"deviceIndex":1,"deviceNo":"g2.55555555_bank_2_rack_1_pcs","emsServerId":"1978298659909009408","energyStationId":"1978293377799684096","expirationTime":null,"groupNo":24,"id":"1980467052812566528","ip":null,"lastHeartbeatAt":null,"modelId":"1976522806728458240","modelKey":"JKESSCU_V1.0_PCS","modifyBy":"1409749182851448832","modifyTime":"2025-10-21T18:52:04+08:00","name":"PCS2","offlineCount":null,"parentDeviceId":null,"points":[],"productId":"1668097511899922432","productKey":"PCS","pt":null,"rackIndex":1,"status":null,"tenantId":null,"timeZone":null,"totalOfflineTime":null,"transformerAssetId":"Q7Kb9tDxx7j"}],"success":true} 预期结果: [{'case': None, 'assert': {'断言1': {'response': '$.code', '==': 200}, '断言2': {'response': '$.key', '==': 'action_success'}}}] 接口响应时长: 394.7 ms Http状态码: 200 ========================================================== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:33 ==============开始执行assertions断言逻辑处理============== [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:200。预期结果:200。比较方式:equal [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:67 执行接口响应断言 [35mDEBUG [0m /home/auto-api-test/logs/2025-10-23/2025-10-23--info.log:assert_control.py:91 实际结果:action_success。预期结果:action_success。比较方式:equal
|