|
@@ -1,5 +1,6 @@
|
|
|
from hytest import *
|
|
|
from lib.webapi import apimgr
|
|
|
+from collections import Counter
|
|
|
|
|
|
|
|
|
class c1:
|
|
@@ -7,16 +8,35 @@ class c1:
|
|
|
|
|
|
def teststeps(self):
|
|
|
INFO("测试步骤")
|
|
|
+
|
|
|
+ # 第一步调用函数
|
|
|
STEP(1, "第一步调用函数")
|
|
|
res = apimgr.preview_sievedata()
|
|
|
r = res.json() # 用json格式返回
|
|
|
- INFO(r)
|
|
|
|
|
|
- # 获取数据中的 _id 字段
|
|
|
+ # 获取数据中的 list
|
|
|
data_list = r['data']['list']
|
|
|
|
|
|
# STEP 2: 检查 _id 是否存在
|
|
|
STEP(2, "检查 _id 字段是否存在")
|
|
|
- for item in data_list:
|
|
|
- _id = item.get('_id') # 获取 _id 字段
|
|
|
- CHECK_POINT(f"检查 _id 字段存在: {_id is not None}", _id is not None)
|
|
|
+ all_ids_exist = all(item.get('_id') is not None for item in data_list)
|
|
|
+ CHECK_POINT(f"检查 _id 字段是否存在: {all_ids_exist}", all_ids_exist)
|
|
|
+
|
|
|
+ # STEP 3: 检查 winnerperson 和 winnertel 字段同时出现且数量是否超过2
|
|
|
+ STEP(3, "检查 winnerperson 和 winnertel 字段同时出现且数量是否超过2")
|
|
|
+
|
|
|
+ winnerperson_list = [item.get('winnerperson') for item in data_list if item.get('winnerperson')]
|
|
|
+ winnertel_list = [item.get('winnertel') for item in data_list if item.get('winnertel')]
|
|
|
+
|
|
|
+ # 统计 winnerperson 和 winnertel 的出现次数
|
|
|
+ winnerperson_counter = Counter(winnerperson_list)
|
|
|
+ winnertel_counter = Counter(winnertel_list)
|
|
|
+
|
|
|
+ # 检查两个字段是否同时存在且出现次数都超过2
|
|
|
+ winnerperson_error = any(count > 2 for count in winnerperson_counter.values())
|
|
|
+ winnertel_error = any(count > 2 for count in winnertel_counter.values())
|
|
|
+
|
|
|
+ if winnerperson_error and winnertel_error:
|
|
|
+ CHECK_POINT("winnerperson 和 winnertel 都存在且都出现超过2次,检查不通过", False)
|
|
|
+ else:
|
|
|
+ CHECK_POINT("winnerperson 和 winnertel 同时满足预期,检查通过", True)
|